Windows 8 アプリで画面の解像度を検出して、それに応じて UI の要素をスケーリングおよびサイズ変更できる方法はありますか?
そうでない場合、解像度に依存しないアプリを開発するための最良の方法は何ですか? 私が気付いていない標準的な方法はありますか、それともこれを達成できる他の方法はありますか?
Windows 8 アプリで画面の解像度を検出して、それに応じて UI の要素をスケーリングおよびサイズ変更できる方法はありますか?
そうでない場合、解像度に依存しないアプリを開発するための最良の方法は何ですか? 私が気付いていない標準的な方法はありますか、それともこれを達成できる他の方法はありますか?
FrameworkElementから継承するものには、SizeChangedイベントがあります。このイベントは、フレームワーク要素の現在のサイズを返します。
画面全体のサイズを取得するには、次を使用できます。
Windows.UI.Xaml.Window.Current.Bounds.Height
Windows.UI.Xaml.Window.Current.Bounds.Width
これにより画面のサイズが返され、アプリが全画面表示かスナップ/塗りつぶしかを考慮する必要があるので注意してください。
Microsoftのガイダンスによると、高さ/幅の絶対値を避け、HorizontalAlignmentとVerticalAlignmentをStretchに設定するだけで、UIがレンダリングに必要なだけのスペースを使用できるようになります。
Windows.Graphics.Display.DisplayProperties.LogicalDpi