我遇到了一个问题。 我有一个带进度条的加载页面。它是非交互式的,它只显示加载数据的进度。 AFter数据加载后 - 导航到MenuPage。
如果用户在加载过程中最小化应用程序,有时会向BackStack添加一个幻影损坏的条目。
问题:
如果此损坏的条目位于后台 - NavigationService.RemoveBackEntry()
抛出NullReferenceException
。
问题: 我的目标是在用户按下时从第二页退出应用程序。我可以以某种方式做到这一点,而无需从后台堆栈中删除项目并抛出异常吗?
答案 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();
}
}
来源: