3

ナビゲーション履歴からページを削除するにはどうすればよいですか?

私は次のように進めます。

this.Frame.Navigate(typeof(...));

しかし、私が欲しいのは

A -> B -> C -> D -> E

戻る?

E -> A

そこで、Backward Navigation Stack を削除したいと思います。私の知る限り、NavigationService は Windows 8 では利用できません。そして、ページクラスに便利な機能が見つかりません:

http://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.xaml.controls.page

4

3 に答える 3

1

1 つの方法は、Frame.SetNavigationStateを使用することです。ページにいるときは、 Frame.GetNavigationStateをアプリ内のどこからでもアクセスできる静的変数にA格納します。

MyClass.PageANavigationState = Frame.GetNavigationState();

あなたがE(またはどのページでも)いて、ナビゲーションスタックを までクリアしたいときはA

Frame.SetNavigationState[MyClass.PageANavigationState];
于 2013-07-01T00:06:50.547 に答える
0

同じ問題があり、以下のコードを使用してこれを行いました

while (Frame.BackStackDepth > 0)
{
    if (Frame.CanGoBack)
    {
        Frame.GoBack();
    }
}
Frame.CacheSize = 0;
Frame.Navigate(typeof(LoginScreen));
于 2013-07-01T04:26:03.507 に答える