在 windows phone 8.1 上导航到另一个页面时我的应用程序关闭
My app close when navigate to another page on windows phone 8.1
我正在使用 MVVM Light Toolkit 在 windows phone 8.1 中构建应用程序,当我使用导航服务的 NavigateTo 方法时,我的应用程序关闭时没有抛出错误。这个问题似乎是随机的。
我使用的是典型的 MVVM 架构。我使用 ViewModelLocator,我在其中使用 unity 来注册我的所有依赖项。
尝试将 Dispatcher 与导航一起使用:
await Dispatcher.RunAsync( CoreDispatcherPriority.Normal, () => Frame.Navigate( typeof( SomePage ), "PageAgrs" ) );
这是 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 方法失败时,此方法才会崩溃。
我正在使用 MVVM Light Toolkit 在 windows phone 8.1 中构建应用程序,当我使用导航服务的 NavigateTo 方法时,我的应用程序关闭时没有抛出错误。这个问题似乎是随机的。
我使用的是典型的 MVVM 架构。我使用 ViewModelLocator,我在其中使用 unity 来注册我的所有依赖项。
尝试将 Dispatcher 与导航一起使用:
await Dispatcher.RunAsync( CoreDispatcherPriority.Normal, () => Frame.Navigate( typeof( SomePage ), "PageAgrs" ) );
这是 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 方法失败时,此方法才会崩溃。