【问题标题】:Frame Navigate in Windows Phone C#Windows Phone C# 中的框架导航
【发布时间】:2015-05-01 14:26:10
【问题描述】:

我用来在页面之间移动

Frame.Navigate(typeof(Pages.AccountSettins));

在模拟器上一切正常。 但它不适用于您的手机!不断敲击应用程序。 早些时候一切都很好。 有什么问题?

【问题讨论】:

  • 尝试将其替换为((Frame) Window.Current.Content).Navigate(typeof(Pages.AccountSettings));,或者尝试引导到其他页面或逐步调试,AccountSettings 中的构造函数可能会引发异常。
  • @Felype no.,没有帮助! :( 没有检测到错误。只是使用 Frame.Navigate() 敲击应用程序
  • 好的,尝试添加 NavigationFailed 事件并使用NavigationFailedEventArgs.Exception.Message 弹出消息,如果失败则异常被抛出某处并且未被捕获,如果是这样,您可以尝试将这一行包装在try/catch 块并显示消息。如果您至少了解正在发生的事情,那应该是从哪里开始寻找的提示。未捕获的异常总是会使 WinRT 应用程序崩溃,但如果您捕获它,您可以显示消息,阅读它的内容,应用程序不会崩溃,并会告诉您可能出现的问题。
  • @Felype 谢谢!现在我会试试这个..但为什么这在模拟器中工作?为什么它适用于我的其他项目?
  • @Felype try{}catch{} 返回:程序“[3448] test.exe”已退出,代码为 -1073741795 (0xc000001d)“非法指令”。

标签: c# navigation windows-phone-8.1 frame


【解决方案1】:

我仍然不知道是什么导致了问题,但我通过调用调度程序处理Frame.Navigate解决了我的问题:

await Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () => this.Frame.Navigate(typeof(MyPage)));

希望对你有帮助

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多