AutorotationWindows8アプリを管理するにはどうすればよいですか。
私はMSDNの「回転」サンプルを確認しましたが、非常に混乱しています。必要なのは、ポートレートの場合とランドスケープの場合でまったく異なるビューを使用する必要があることです。ポートレートビューに変更を加える必要がある場合は、ランドスケープ用にビューを設計しました。ビューを再シャッフルするビューに動的に切り替える方法が必要です。
3 に答える
これに対処する最も簡単な方法は、 PageではなくLayoutAwarePageからページを継承し、ExpressionBlend内のVisualStateManagerを利用してすべての作業を行うことです。
私はここにたくさんの写真とダウンロード可能なサンプルアプリケーションを含む完全な記事を持っています:
http://jaredbienz.wordpress.com/2012/04/22/wp-to-w8-view-states-using-visual-state-manager/
ここでは間違いなくFlipViewコントロールを使用する必要があります。JavaScript / HTML5とC#/ XAMLのどちらを使用しているかはわかりませんが、どちらの場合でも使用できます。
MSDNには、その方法を示す優れたサンプルがありますが、問題に関するコンテキストがなければ、私がどれだけ支援できるかわかりません。
http://code.msdn.microsoft.com/windowsapps/FlipView-control-sample-18e434b4
向きの変更は、2つの基本的な方法で処理できます...
1)ブルートフォースアプローチ。方向変更イベントに接続します。..
Windows.Graphics.Display.DisplayProperties.OrientationChanged += DisplayProperties_OrientationChanged;
イベントハンドルで、向きを確認し、その向き用に特別にレイアウトされたページに移動します...
if (Windows.Graphics.Display.DisplayProperties.CurrentOrientation == DisplayOrientations.Portrait)
this.Frame.Navigate(typeof(PortraitPage));
長所...特定の向きに最適化されたページの設計が簡単短所...ページ間のナビゲーションと状態データを処理する必要がある
2)視覚的な状態を使用してレイアウトを変更する単一のページを作成します。それでもorientationchangedイベントに接続しVisualStateManager.GoToState(this,"Portrait",true).
ますが、視覚的な状態に名前を付ける方法に応じて、または同様の何かを呼び出します。
長所...ナビゲーションなしでレイアウトを変更し、クールなアニメーションを簡単に追加できます短所...高度なxamlレイアウトとviewStatesに慣れていない場合、より複雑なレイアウトは難しくなる可能性があります
サンプルテンプレート(空白以外)を見ると、ビューステート遷移を処理するLayoutAwarePageが含まれているため、少し単純化されています。