【问题标题】:My app close when navigate to another page on windows phone 8.1导航到 Windows Phone 8.1 上的另一个页面时,我的应用程序关闭
【发布时间】:2026-02-10 22:40:01
【问题描述】:

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

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

【问题讨论】:

  • 可以添加一些导航方法的代码吗?

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


【解决方案1】:

尝试使用带导航的 Dispatcher:

await Dispatcher.RunAsync( CoreDispatcherPriority.Normal, () => Frame.Navigate( typeof( SomePage ), "PageAgrs" ) );

【讨论】:

    【解决方案2】:

    这里是 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方法失败时,这个方法才会崩溃。

    【讨论】:

    • 实际上,当某些页面打开时,问题出在我的代码中。谢谢。
    最近更新 更多