导航到Windows Phone 8.1

时间:2016-05-17 14:24:31

标签: mvvm windows-phone-8.1 mvvm-light mvvm-toolkit

我正在使用MVVM Light Toolkit在Windows Phone 8.1中构建应用程序,当我使用导航服务的NavigateTo方法时,我的应用程序关闭而不会抛出错误。这个问题似乎是随机的。

我正在使用典型的MVVM架构。我使用一个ViewModelLocator,我使用unity来注册我所有的依赖项。

2 个答案:

答案 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" ) );