我有一个WP 7.5应用程序。我有一个启动画面,然后我的MainPage.xaml有版权免责声明和开始按钮。用户单击该按钮,它将进入我们的主屏幕(Home.xaml),用户可以在该屏幕上开始与应用程序进行核心交互。
我想要的是:
1:版权屏幕即MainPage.xaml应该仅在用户安装后第一次启动应用程序时出现。随后从应用程序菜单或Tile(s)开始,我不想显示版权页。
2:同样的事情,一旦用户点击开始/接受按钮并转到Home.xaml,他或她无法通过单击后退按钮返回MainPage.xaml,而是从主屏幕单击返回,他们应该退出申请。
到目前为止我做了什么:
1:对于MainPage.xaml的OnNavigateTo我检查了ApplicationSetting键showCopyright。如果没有找到或者是真的,我什么都不做。如果它是假的,那么我使用NavigationService.Navigate到我的Home.xaml。
2:在“开始/接受”按钮上,我将ApplicationSettings键设置为false。
上述方法存在问题:
1:如果我使用HomeScreen的后退按钮,我会进入无限循环。应用程序应退出但不会退出。
问题:
1:上述方法是对的还是有更好的方法?
2:如果我的方向正确,当我在Home.xaml时如何让我的应用程序退出后退按钮?
谢谢,请指点?
编辑:为了记录,我找到了一个关于从Windows Phone应用程序显式退出的一个很好的解释here。从WP7.1 / 7.5开始,没有明确退出Silverlight WP应用程序的内置方法。
答案 0 :(得分:3)
您可以在后面的按键上删除新页面(Home.xaml)中导航服务的Backentry,这会打破无限循环。
请在Home.xaml.cs中添加以下代码并尝试
//this works only in 7.1 SDK
protected override void OnBackKeyPress(System.ComponentModel.CancelEventArgs e)
{
try
{
if (NavigationService.CanGoBack)
NavigationService.RemoveBackEntry();
base.OnBackKeyPress(e);
}
catch (Exception ex)
{
MessageBox.Show("Exception = " + ex.Message);
}
}
答案 1 :(得分:0)
看一下这篇文章,它会向您展示如何添加EULA /免责声明页面并拥有您正在寻找的功能: