我已经将WP7 DataBound应用程序模板用于我的程序,它使用了一种MVVM形式。我想从我的主页导航到我的设置页面,但由于它是加载数据的VM,这反过来决定了是否需要加载设置页面,我想从VM调用导航代码,而不是视图。但是,NavigationService不会仅在视图中显示VM中的Navigate方法。有没有人对我如何/应该在VM中调用Navigate方法有任何建议?
谢谢,
杰森。
答案 0 :(得分:1)
我倾向于使用以下其中一种
答案 1 :(得分:1)
在App.xaml.cs
中将其作为静态方法实施,就像这样
public static void Navigate(Uri source)
{
Dispatcher.BeginInvoke(() => (App.Current.RootVisual as PhoneApplicationFrame).Navigate(source));
}
这样您只需从任何地方拨打App.Navigate(uri)
即可。
您可能还想实施GoBack()
:
public static void GoBack()
{
Dispatcher.BeginInvoke(() => (App.Current.RootVisual as PhoneApplicationFrame).GoBack());
}