注意:存在一些混淆,所以让我通过将其与Android中的类似功能进行比较来澄清我在Windows Phone 7中如何实现某些功能。
问题:
了解Windows Phone 7中页面之间的导航,我实现了两个页面A和B之间的双向导航,因此您可以从页面A导航到B和B导航到A.
为了说明的目的,让我说我像这样导航:A-> B-> A-> B
当退出应用程序时,我将再次强制通过每个页面,理想情况下,我只想通过A一次,和/或B一次,然后退出应用程序。
在Android中你可以通过在活动上将noHistory属性设置为“true”来实现,但是WP7呢?
更新:按照keyboardP的建议使用RemoveBackEntry我实现了我想要的。对于其他感兴趣的人,这是我使用的代码:
private void button1_Click(object sender, RoutedEventArgs e)
{
NavigationService.Navigate(new Uri("/FirstPage.xaml", UriKind.Relative));
NavigationService.RemoveBackEntry();
}
答案 0 :(得分:2)
在7.0中,没有方法可以从导航堆栈中删除任何页面。但是,您可以下载一个有助于处理circular navigation
的配方。您可以Non-Linear Navigation Service from here下载它,它基于this article。
我不知道该配方是否与7.1(Mango)兼容,但是在NavigationService中Mango引入了一种名为RemoveBackEntry的新方法。您可以执行一些计算来计算删除最后一个条目的次数,以便用户在单击back button
时在第一页上结束。