以下の内容はhttps://blog.okazuki.jp/entry/2015/07/12/140556より取得しました。


Universal Windows Platform appでタイトルバーに戻るボタンを出す方法 その2

okazuki.hatenablog.com

先日、UWP appのタイトルバーに戻るボタンを出す方法を書きましたが、ストアのアプリを見てると戻れないときは戻るボタン出さないようになってるっぽいです。

ということで、そういう風にハンドリングするにはどうするかというのを紹介します。

とりあえず、戻れるときは戻るボタンを出すということなので、こんなメソッドを用意します。

private void UpdateBackButtonState()
{
    var rootFrame = (Frame)Window.Current.Content;
    SystemNavigationManager.GetForCurrentView().AppViewBackButtonVisibility = rootFrame.CanGoBack ?
        AppViewBackButtonVisibility.Visible :
        AppViewBackButtonVisibility.Collapsed;

}

そして、起動時と画面遷移後にこのメソッドを呼ぶようにします。App.xaml.csのOnLaunchedでrootFrameを作ったあとくらいにこんなコードを足します。

this.UpdateBackButtonState();
rootFrame.Navigated += (_, __) => this.UpdateBackButtonState();
SystemNavigationManager.GetForCurrentView().BackRequested += (_, args) =>
{
    if (rootFrame.CanGoBack)
    {
        rootFrame.GoBack();
        args.Handled = true;
    }
};

適当に2画面作って画面遷移させるようにして様子を見ます。

起動直後の画面では戻るボタンが出ません。

f:id:okazuki:20150712140505p:plain

画面遷移すると戻るボタンが出ます。当然ボタンを押すと戻ります。

f:id:okazuki:20150712140553p:plain




以上の内容はhttps://blog.okazuki.jp/entry/2015/07/12/140556より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14