MetroStyleApp入門 vol18:OrientationとViewState

日曜日 , 20, 5月 2012 Leave a comment

 タブレット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;
        }

 

OrientationChanged

 

 向きを変更した際に発生します。

 持ち方の方向を取得したい場合は基本的にこのイベントで取得すると良いと思います。

 取得できるプロパティはLandscape(横)、Portrait(縦)、LandscapeFlipped(横&逆さ)、PortraitFlipped(縦&逆さ)の4種類です。

 基本位置に対して正位置か逆さも取得したい場合はこのプロパティを使うのよいでしょう。

 

ViewStateChanged

 

 表示状態が変更されたときにイベントが発生します。

 OrientationChangedとことなり向きに関する情報はFullScreenLandscapeとFullScreenPortraitと、正位置かどうかは取得できません。

 そのかわりsnap状態のsnap側を表すSnappedと、逆側のFilledが取得できます。

 

LayoutUpdated

 

 レイアウトが更新された場合全般に発生するイベントです。

 

 


Please give us your valuable comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です