戻るボタンは、Windows10のタブレットモードの時、タスクバーの左はしWindowsボタンの右に表示される←やデスクトップモードでタイトルバーの左に表示される←だ。
Androidの戻るボタンと同じような感じだ。
[UWP] 画面遷移のサンプルに戻るボタンの処理を追加していく。
戻るボタンを押すとSystemNavigationManager.GetForCurrentView().BackRequestedイベントが発生するのでここに戻る処理を行うハンドラを追加(紐付け?)する。
Appクラス(App.xaml.cs)に戻るボタンの処理メソッドを追加する。
private void BackRequested(object sender, BackRequestedEventArgs e)
{
Frame frame = Window.Current.Content as Frame;
if (frame == null)
{
return;
}
if (frame.CanGoBack && e.Handled == false)
{
e.Handled = true;
frame.GoBack();
}
}
OnLaunchedメソッドの最後の方にBackRequestedイベントと紐付ける処理を追加する。
SystemNavigationManager.GetForCurrentView().BackRequested += BackRequested;
これで戻るボタンで前の画面に戻るようになる。つぎにデスクトップモードでタイトルバーの左端に戻るボタンを表示する。
画面クラスのOnNavigatedToメソッドで戻るボタンを表示するコードを追加する。
if(Frame.CanGoBack)
{
SystemNavigationManager.GetForCurrentView().AppViewBackButtonVisibility = AppViewBackButtonVisibility.Visible;
} else
{
SystemNavigationManager.GetForCurrentView().AppViewBackButtonVisibility = AppViewBackButtonVisibility.Collapsed;
}
これでタイトルバー左に戻るボタンが表示される。
コメント