我花了一些时间翻阅Stack Overflow,了解如何根据操作确定性地关闭应用程序。大多数(如果不是全部)答案都说你不能或不应该这样做。如果是这样的话,我想用不同的方式表达我的问题,看看人们如何处理我遇到麻烦的两个问题。
只是为了让你们知道我正在使用Caliburn.Micro进行这个项目。
好的,我的应用程序流程可分为两部分,初始流程和标准流程,如下所示
启动 - >欢迎 - > CreateAccount - > MainHub(所有其他功能从此处分支)
启动 - > MainHub(所有其他功能从此处分支)
基于此流程,来自我的更好(测试版)测试人员的反馈是他们希望在按下集线器上的后退按钮时退出应用程序,他们将其视为入口点。目前,根据导航,他们会一直回到飞溅状态。
我看到其他应用程序具有此功能,但没有强制关闭应用程序(我读到的不是否),他们如何实现这种所需的功能。
注意:我不想放入退出按钮,因为我认为它违背了WP7应用程序的自然流程。
答案 0 :(得分:1)
关于EULA /登录屏幕(和Splash) - 不要将它们变成页面。如果您改为使用Popup或Dialog控件,您可以随时显示或隐藏它们(在第一次导航时;当用户点击应用程序的“受保护”部分时;超时后;等等)消耗后台堆中的一个插槽。
来源:http://blogs.msdn.com/b/ptorr/archive/2010/08/01/exiting-a-windows-phone-application.aspx
答案 1 :(得分:1)
首先,您无法添加退出按钮。退出应用程序的唯一方法是使其崩溃,不会批准进行市场认证。
至于您的问题,您只需在完成已知导航后从导航堆栈中删除视图。
为此,请使用NavigationService.RemoveBackEntry。
您可以使用以下代码段从任何地方访问NavigationService:
(App.Current.RootVisual as PhoneApplicationFrame).RemoveBackEntry()