Windows 8はフレーム内のページのスタックをどのように管理しますか?
そして、スタック内のすべてのページを「ポップ」して、最初のページ(たとえばログインページ)に戻る必要がある場合のように、プログラムでスタック全体をクリアするにはどうすればよいですか?
Windows 8はフレーム内のページのスタックをどのように管理しますか?
そして、スタック内のすべてのページを「ポップ」して、最初のページ(たとえばログインページ)に戻る必要がある場合のように、プログラムでスタック全体をクリアするにはどうすればよいですか?
Common / LayoutAwarePage.csには、次のGoHome()関数があります(標準の[戻る]ボタンのクリックイベントで使用されるGoBack()関数に加えて)。
// Use the navigation frame to return to the topmost page
if (this.Frame != null)
{
while (this.Frame.CanGoBack) this.Frame.GoBack();
}
次のような独自の Frame クラスを実装してみてください。
次に、基本的にこれを行う RemoveLastEntry メソッドを作成できます。
void RemoveLastEntry()
{
if (_navigationStack.Count > 0)
{
_navigationStack.Pop();
}
}
このメソッドを一定回数呼び出します。
または、最初の画面に戻る GoHome メソッドを呼び出すこともできます (最初のアイテムを除くスタック全体をクリアします)。
これがあなたを正しい方向に導くことを願っています!
最善の解決策は
while (this.Frame.CanGoBack)
{
this.Frame.GoBack();
}