【问题标题】:Can't Navigate to next Frame [duplicate]无法导航到下一帧 [重复]
【发布时间】:2015-05-19 21:13:26
【问题描述】:

我在导航到以下部分的下一页时遇到问题:

    protected override void OnNavigatedTo(NavigationEventArgs e)
    {
            Debug.WriteLine("Test1");
            Frame.Navigate(typeof(LoginView));
            Debug.WriteLine("Test2");            
    }

如果仅在 OnNavigatedTo 中调用 Frame.Navigate 方法,则它根本不起作用。在调试时,我看到“Test1”和“Test2”,但没有其他任何反应。 任何想法?项目:Windows Phone Store App 8.1

【问题讨论】:

  • LoginView 是否继承自 Page 类?
  • 是的,确实如此。还有其他想法吗?
  • 是的,它有效!谢谢。我把它放到 RunAsync 方法中:)

标签: wpf navigation windows-store-apps windows-phone-8.1


【解决方案1】:

在 OnNavigatedTo 方法中添加 async 关键字并添加 await Task.Delay(10);在 Frame.Navigate() 调用之前。或者,您可以在 Dispatcher 中执行 Frame.Navigate()。

1) 使用延迟

protected override async void OnNavigatedTo(NavigationEventArgs e)
{
    await Task.Delay(10);
    Frame.Navigate(typeof (LoginView));
}

2) 使用调度程序

protected override async void OnNavigatedTo(NavigationEventArgs e)
{
    Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
    {
        Frame.Navigate(typeof(LoginView));
    });
}

【讨论】:

    【解决方案2】:

    我也遇到了同样的问题,这是因为我在第二页上没有正确解决一些 Xaml。检查 Xaml 是否正确,所有资源和引用是否正确。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-03-31
      • 2019-09-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-03
      • 1970-01-01
      相关资源
      最近更新 更多