【问题标题】:Application.LoadComponent() exits application - WP7Application.LoadComponent() 退出应用程序 - WP7
【发布时间】:2012-04-09 17:54:19
【问题描述】:

我正在创建一个视频应用程序,在与音乐+视频中心集成时遇到了一个非常奇怪的问题。这就是我正在做的事情

点击音乐历史项目应用程序启动 MainPage.xaml,在 OnNavigate() 函数中,我正在检查是否请求了历史项目,如果为真,则我使用 NavigateService.Navigate(videoPage.xaml)。但这是退出应用程序,没有引发应用程序事件,只是退出应用程序,没有任何应用程序事件。

根据我的理解,没有办法调试这种情况,因此我以某种方式对其进行了模拟,并注意到 NavigateService.Navigate 工作正常,但调用 Application.LoadComponent() 函数是导致这一切的原因。

奇怪的是

  • VideoPage.xaml 在除此之外的其他事件上完美打开
  • 以前有效,现在无效。
  • 我找不到任何方法来检查它为什么在没有引发任何事件的情况下退出。
  • 它可以在模拟器上运行,但不能在设备上运行。

我尝试过干净的解决方案。 :(

请帮助我或至少给我一些解决方法以获取错误消息。

更新:

我发现解决方案似乎是一种解决方法,但它仍然有效。 MainPage.xaml 包含一个枢轴控件,并且在 pivot_selectionChanged 事件上它会发出一个 httpwebrequest 并在 systemTray 上显示进度条。 (第一次加载页面时会引发此事件)

在 OnNavigatedTo 事件中,我正在检查是否需要导航到其他页面,如果是,那么我正在进行导航调用,然后是“返回”语句。

昨天据我所知,return 不会停止控制加载事件,并且页面无论如何都会调用 pivot_selectionChanged。因此,我没有在 xaml 中附加 pivot_selectionChange 的事件,而是将其移动到代码文件中。那行得通。

但问题仍然存在,为什么应用程序退出而没有引发任何异常,甚至是 Application_Close 事件。真正的问题是它在 systemTray 中挂起的 HttpWebRequest 或 Progressbar 导致了这样的麻烦。

【问题讨论】:

    标签: windows-phone-7 silverlight-4.0 progress-bar pivot system-tray


    【解决方案1】:

    该应用程序可能引发了异常,只是您看不到它,因为您不再附加调试器。建议在您的 App.xaml.cs 中为未处理的异常事件处理程序添加一个消息框

     private void Application_UnhandledException(object sender, ApplicationUnhandledExceptionEventArgs 
     {
         MessageBox.Show(e.ExceptionObject.ToString(), "Unhandled Exception ", MessageBoxButton.OK);
     }
    

    【讨论】:

    • 我已经尝试过了,我也在调试模式下模拟了这种情况。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多