c# – 如何删除backstack页面以退出应用程序

我有一个应用程序,它在首次运行时显示免责声明页面.选择“接受”或“拒绝”后,您再也看不到该页面了.

但是,当您在第一次运行后按后退键尝试关闭应用程序时,您将返回免责声明页面,然后再次点击该页面,返回主页面,然后再次退出.

这仅在应用程序第一次运行时发生,但我希望应用程序在按下后退键时忽略免责声明页面并退出应用程序.

除了强制未处理的异常错误关闭应用程序之外,还有其他选择吗?

提前致谢.

解决方案:添加以下NavigationService.RemoveBackEntry();在我的主页面.

private void PhoneApplicationPage_Loaded_1(object sender, RoutedEventArgs e)
{
    NavigationService.RemoveBackEntry();
    NavigationService.RemoveBackEntry();
}

解决方法:

我确信有一种更优雅的方式可以做到,但我很着急,所以我以下面的方式实现它.

我有一个静态全局枚举,存储我所在的最后一页.假设你有一个名为pgDisclaimer和pgMain的页面.

在pgDisclaimer页面的OnNavigatedTo事件中,检查控件的来源.如果它来自pgMain,只需执行NavigationService.GoBack(),你将不在应用程序中,用户将永远不会真正看到pgDisclaimer页面(甚至不是闪烁).

编辑:找到更优雅的方式.在Mango中,您可以使用可怕名为NavigationService.RemoveBackEntry()的方法.

相关文章

如何在Silverlight4(XAML)中绑定IsEnabled属性?我试过简单的...
我正在编写我的第一个vb.net应用程序(但我也会在这里标记c#,...
ProcessFile()是在UIThread上运行还是在单独的线程上运行.如...
我从同行那里听说,对sharepoint的了解对职业生涯有益.我们不...
我正在尝试保存一个类我的类对象的集合.我收到一个错误说明:...
我需要根据Silverlight中的某些配置值设置给定控件的Style.我...