Windows手机导航错误

时间:2012-08-01 13:47:54

标签: windows-phone-7 navigation

我遇到了一个问题。 我有一个带进度条的加载页面。它是非交互式的,它只显示加载数据的进度。 AFter数据加载后 - 导航到MenuPage。

如果用户在加载过程中最小化应用程序,有时会向BackStack添加一个幻影损坏的条目。

问题: 如果此损坏的条目位于后台 - NavigationService.RemoveBackEntry()抛出NullReferenceException

问题: 我的目标是在用户按下时从第二页退出应用程序。我可以以某种方式做到这一点,而无需从后台堆栈中删除项目并抛出异常吗?

enter image description here

1 个答案:

答案 0 :(得分:-2)

简而言之,没有。你不能直接退出一个应用程序,它很糟糕。但是你可以用一个处理得当的例外来做到这一点。

private class QuitException : Exception { }

public static void Quit()
{
    throw new QuitException();
}

private void Application_UnhandledException(object sender, 
ApplicationUnhandledExceptionEventArgs e)
{
    if (e.ExceptionObject is QuitException)
        return;

    if (System.Diagnostics.Debugger.IsAttached)
    {
        System.Diagnostics.Debugger.Break();
    }
}

来源:

http://www.imaginativeuniversal.com/blog/post/2010/08/22/How-to-Quit-a-WP7-Silverlight-Application.aspx