1

我有一个带有一些选项的主页。其中之一是导航到有两个箭头的第 1 页。一个导航到 page2、page3,另一个箭头 page3、page2、page1 像循环一样。还有一个导航到主页的箭头。

我想问一下,当用户按下后退按钮时,是否有办法从用户当前所在的任何页面终止应用程序,而不是浏览所有页面。

编辑

如果我想要当我按下后退以始终导航到主页时,我必须做什么?

4

5 回答 5

3

onbackkeypress清除要退出应用程序的函数内的后退堆栈。它会正常退出应用程序。

[更新]

1) 清除回栈后。用于NavigationService.Navigate(new Uri("MainPage.xaml",UriKind.Relative));遍历主页面并e.Cancel = true在下一条语句中执行。

2) 或者清除后台堆栈到主页。并且自动后按会将您带到主页。在主页内完全清除函数内部的后退堆栈,OnNavigatedTo以便第一项始终是您的主页,用户可以轻松退出。

    protected override void OnBackKeyPress(System.ComponentModel.CancelEventArgs e)
    {
        while (NavigationService.CanGoBack)
            NavigationService.RemoveBackEntry();
        e.Cancel = true;
        return;
     }
于 2012-10-16T10:32:00.013 回答
2
  protected override void OnBackKeyPress(System.ComponentModel.CancelEventArgs e)
    {
        while (NavigationService.CanGoBack)
            NavigationService.RemoveBackEntry();
    }
于 2012-10-16T10:48:14.943 回答
1

在终止应用程序的 OnBackKeyPress 中引发异常。

protected override void OnBackKeyPress(System.ComponentModel.CancelEventArgs e)
{
    throw an exception();
}
于 2012-10-17T10:23:38.647 回答
0

希望这会奏效。如果它的 XNA

      if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed)
            this.Exit();
于 2012-10-16T10:40:25.867 回答
0

你也可以这样做,

查看

e.NavigationMode == System.Windows.Navigation.NavigationMode.Back

OnNavigatedTo事件中(您需要覆盖每一页)并调用

NavigationService.GoBack();

没有直接退出应用程序的方法.. 见这里

于 2012-10-16T10:48:08.410 回答