タブレットPCを縦持ちから横持ちに向きを変えた場合Metroスタイルアプリケーションでは以下のイベントが発生します。
OrientationChanged
LayoutUpdated
ViewStateChanged
それぞれ以下のようにイベントハンドラーを設定します。
public BlankPage() { this.InitializeComponent(); this.Loaded += BlankPage_Loaded; } void BlankPage_Loaded(object sender, RoutedEventArgs e) { DisplayProperties.OrientationChanged += DisplayProperties_OrientationChanged; LayoutUpdated += BlankPage_LayoutUpdated; Windows.UI.ViewManagement.ApplicationView.GetForCurrentView().ViewStateChanged += BlankPage_ViewStateChanged; }
向きを変更した際に発生します。
持ち方の方向を取得したい場合は基本的にこのイベントで取得すると良いと思います。
取得できるプロパティはLandscape(横)、Portrait(縦)、LandscapeFlipped(横&逆さ)、PortraitFlipped(縦&逆さ)の4種類です。
基本位置に対して正位置か逆さも取得したい場合はこのプロパティを使うのよいでしょう。
表示状態が変更されたときにイベントが発生します。
OrientationChangedとことなり向きに関する情報はFullScreenLandscapeとFullScreenPortraitと、正位置かどうかは取得できません。
そのかわりsnap状態のsnap側を表すSnappedと、逆側のFilledが取得できます。
レイアウトが更新された場合全般に発生するイベントです。
Please give us your valuable comment