Quantcast
Channel: かずきのBlog@hatena
Viewing all articles
Browse latest Browse all 1387

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

$
0
0

Universal Windows Platform appでタイトルバーに戻るボタンを出す方法 - かずきのBlog@hatenaokazuki.hatenablog.com

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

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

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

privatevoid 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


Viewing all articles
Browse latest Browse all 1387

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>