2

非常に異なる画面サイズを検出(および処理)するための最良の方法は何でしょうか。

質問する理由:GridView(およびさまざまなアイテム)を備えたメトロ(Win8 UI)スタイルのアプリがあります。モックアップを参照してください。すべてのカテゴリーについて、最初のページに表示するいくつかを選択しました。画面サイズ(解像度)が小さい場合(タブレットなど)、カテゴリごとに3〜4個のアイテムのみを表示したいと思います。大画面ではおそらく10個のアイテムを表示できます。そうしないと、未使用の空きスペースが非常に多くなります。(詳細ページでは、すべてのアイテムを表示し、より大きな画面サイズに自動的に調整されるため、これは問題ありません。)

これは、彼がBlogPostに書いたように、Steven Sinofsky(Microsoft)の意図でもあります。

これは、小さな画面での私のアプリのモックアップです。

小さな画面でのWin8RTアプリのモックアップ

ヒントをありがとう!

4

1 に答える 1

2

ページが読み込まれたときに、ページの値this.Frame.ActualWidthとページ内の値を調べて、表示するアイテムの数を大まかに計算することができます。this.Frame.ActualHeightただし、スケーリングに注意してください。これにより、計算が少し複雑になる可能性がありますが、過度に複雑になることはありません。グリッドビューの要素のサイズを知っているはずなので、画面領域に適切に収まる要素の数を計算できるはずです。次に、適切な数のアイテムをビューモデルに取り込み、それをビューにバインドする場合です。

于 2012-08-17T11:25:52.223 に答える