2017-01-28 7 views
0

は、プリズム付きXFプロジェクトで作業しています。ログインページがあり、成功するとマスター詳細ページに移動します。マスター詳細から戻るボタン(ハードウェア)を押すページ

<Button Style="{StaticResource MenuButtonStyle}" Text="Title1" Command="{Binding NavigateCommand}" CommandParameter="DetailNavigationPage/Page1" Grid.Row="3" Grid.Column="0"></Button> 

マスターページに4つのボタンがありますが、これは上記のコードのようにナビゲーションに使用しています。

これはうまくいきます。具体的には、詳細ページに移動し、ハンバーガーアイコンを使用してマスターページを再度表示することができます。

しかし、バックボタン(ハードウェア)をクリックすると、マスターページではなくログインページに戻されます。戻るボタンを押したときにマスターページを表示するためにできることはありますか?

おかげ

+0

ナビゲーションスタックからログインページを削除できますか? – Cheesebaron

+0

どうすればいいですか? –

+0

静的クラスのNavigationを使用して、削除するページのRemovePageを呼び出します。 – Cheesebaron

答えて

1

あなたが戻っLoginPageへのナビゲーションを防止したい場合は、行うための最善のことは、ナビゲーションスタックからそれを削除することです。ログインに成功のあなたのナビゲーションコールがある場合:LoginPage/MainPage

_navigationService.NavigateAsync("MainPage"); 

あなたのナビゲーションスタックは、実際のように見えます。ハードウェアの戻るボタンがまだそのタスクを達成できることを発見したので、アプリケーションがナビゲートする方法を提供しないかもしれませんが。あなたが見えるようにあなたのナビゲーション・コールを変更する一方場合:

_navigationService.NavigateAsync("/MainPage"); 

それは、「メインページ」、アプリケーションのルートページになります。

+0

ありがとうございました。それは私が探していた解決策に見えます。しかし、今戻ってクリックすると、Master Pageの代わりにAppが最小化されます。あなたが言及したように、マスターページへのログインにもかかわらず、マスターページがスタックに存在しないかのようです。それは期待された行動ですか? –

+1

これは予想される動作です。 WindowsとAndroidの両方を思い出しながら、ハードウェアの[戻る]ボタンを押すと、ルートページにいる間にアプリケーションを効果的に最小限に抑えることができます。 –

+0

Danさんありがとうございます。マスターページがスタックに入らない特別な理由はありますか? –

関連する問題