我正在使用MVVM Light Toolkit在Windows Phone 8.1中构建应用程序,当我使用导航服务的NavigateTo方法时,我的应用程序关闭而不会抛出错误。这个问题似乎是随机的。
我正在使用典型的MVVM架构。我使用一个ViewModelLocator,我使用unity来注册我所有的依赖项。
答案 0 :(得分:1)
以下是NavigateTo方法实现的(简短)代码:
public virtual void NavigateTo(string pageKey, bool persist = true)
{
if (!_pagesByKey.ContainsKey(pageKey))
throw new ArgumentException(string.Format("No such page: {0}. Did you forget to call NavigationService.Configure?", pageKey), "pageKey");
((Frame)Window.Current.Content).Navigate(_pagesByKey[pageKey]);
}
因此,如果您忘记配置要导航到的页面,或者WP框架的Navigate方法失败,此方法只会崩溃。
答案 1 :(得分:0)
尝试将Dispatcher与导航一起使用:
await Dispatcher.RunAsync( CoreDispatcherPriority.Normal, () => Frame.Navigate( typeof( SomePage ), "PageAgrs" ) );