1

いくつかのオプションを備えたメインページがあります。そのうちの 1 つは、2 つの矢印があるページ 1 に移動することです。1 つは page2、page3、もう 1 つの矢印は 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 に答える