Windows phone 7 如何处理WP7中的首次运行和飞溅

Windows phone 7 如何处理WP7中的首次运行和飞溅,windows-phone-7,navigation,caliburn.micro,Windows Phone 7,Navigation,Caliburn.micro,我花了一点时间翻找堆栈溢出,以了解如何基于操作确定地关闭应用程序。大多数答案都说你不能或不应该这样做。如果是这样的话,我想用不同的措辞来表达我的问题,看看人们是如何处理我遇到麻烦的两个问题的 只是想让你们知道我在用Caliburn.Micro来做这个项目 我的应用程序的流程可以分为两部分,初始流程和标准流程,如下所示 Splash->Welcome->CreateCount->MainHub(此处的所有其他功能分支) Splash->MainHub(此处的所有其他功能分支) 基于这个流程,来自我

我花了一点时间翻找堆栈溢出,以了解如何基于操作确定地关闭应用程序。大多数答案都说你不能或不应该这样做。如果是这样的话,我想用不同的措辞来表达我的问题,看看人们是如何处理我遇到麻烦的两个问题的

只是想让你们知道我在用Caliburn.Micro来做这个项目

我的应用程序的流程可以分为两部分,初始流程和标准流程,如下所示

Splash->Welcome->CreateCount->MainHub(此处的所有其他功能分支)

Splash->MainHub(此处的所有其他功能分支)

基于这个流程,来自我的beta测试人员的反馈是,他们希望在按下hub上的后退按钮时退出应用程序,他们将其视为入口点。目前,根据导航,它们一路回到飞溅处

我看到其他应用程序也有此功能,但如果不强制关闭应用程序(我认为这是一个禁忌),它们是如何实现所需功能的


注意:我不想设置退出按钮,因为我认为这违背了WP7应用程序的自然流程。

关于EULA/登录屏幕(和启动)-不要将其放入页面中。如果你改为让它们弹出或对话框控件,你可以在任何时候显示或隐藏它们(在第一次导航时;当用户点击应用程序的“受保护”部分时;在超时后;等等),并且它们不会占用后台的插槽


来源:

首先,您不能添加退出按钮。退出应用程序的唯一方法是使其崩溃,将不会被批准进行市场认证

至于您的问题,您只需在完成已知导航后从导航堆栈中删除视图

为此,请使用

您可以使用以下代码段从任何位置访问NavigationService:

(App.Current.RootVisual as PhoneApplicationFrame).RemoveBackEntry()

好的建议,我会改变这一点,它解决了我的部分问题。如果在批准/拒绝后使用NavigationService.GoBack(),也可以使用单独的页面。这取决于应用程序的导航流程。很好的建议,但如果我无法通过caliburn.micro找到其他方法,我更愿意在viewmodel中进行。我会这样做。为更新干杯,我不得不表示反对,我发现这是一个非常直观的框架。