4

私は現在、Windows 8 Metro /ModernUIアプリケーションに取り組んでいます。現在、Expression Blend forVisualStudioのインターフェイスに取り組んでいます。

私の質問はこれです:グリッド列などのUI要素のサイズを設定するときは、ピクセル、自動、また​​は星のいずれかを使用できます。この文脈での星は何ですか?グーグル検索では何も表示されず、Windiws8開発者向けドキュメントには何も見つかりませんでした。

ありがとうございました。

4

2 に答える 2

3

グリッドでは、aは、使用可能なスペースを他の列(または行)*と等しく共有することを意味します。*これがどのように機能するかについてのいくつかの良いWPFの例がここにあります

こちらのドキュメントから:

スターサイジング

行または列のサイズを変更して、グリッド内の残りの使用可能なスペースを取得できる規則。スターサイズには常にアスタリスク文字()が含まれ、オプションでアスタリスクの前に、他の可能なスターサイズ(たとえば、3)に対する加重係数を指定する整数値が付きます。スターサイジングの詳細については、グリッドを参照してください。

于 2012-10-02T03:11:02.607 に答える
2

複数の列があるグリッドでは、*サイズの列が残りのスペースを分割します。たとえば、3列(150ピクセル、120ピクセル、1 *)の300ピクセル幅のグリッドを想定します。

計算は次のとおりです。

remainder = (300 - 150 - 120)

余りは30pxなので、1*列の幅は30pxです。

次に、いくつかの列を追加し、幅を(35px、85px、2 *、1 *、3 *)に変更します。

計算をやり直す:

remainder = (300 - 35 - 85)

このシナリオでは、余りは180ピクセルであるため、各*列は残りのピクセルを均等化番号に従って分割します。

factor = (180/ (2 + 1 + 3)) 
factor = 30px

したがって、2 *列は60ピクセル、1 *列は30ピクセル、3*列は90ピクセルです。

300 == 35 + 85 + 60 + 30 + 90 

もちろん、同じ原則が行のサイズ設定にも当てはまります。

グリッドのサイズが変更されると、*列は新しい余りのサイズに分割されます。ただし、他の*サイズのアイテム間で同じサイズ比を維持します。この例では、3*列の幅は常に1*列の3倍になります。

于 2012-10-16T09:40:54.593 に答える