web-dev-qa-db-ja.com

XAMLグリッドでRowDefinition Height = "10 *"はどういう意味ですか?

Height = "*"を少し使用して、最後の行の高さをグリッドの下部まで埋めるようにします。

しかし、「10 *」はどういう意味ですか?

<Grid Name="mainGrid">
    <Grid.RowDefinitions>
        <RowDefinition Height="100" />
        <RowDefinition Height="40" />
        <RowDefinition Height="10*" />
    </Grid.RowDefinitions>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="200"  />
        <ColumnDefinition Width="*" />
    </Grid.ColumnDefinitions>
</Grid>
63
Edward Tanguay

"*""1*"の省略形です。これは比率であるため、1行に"*"と1行に"10*"の2つの行がある場合、前者は使用可能なスペースの1/11を取得し、後者はスペースの10/11を取得します。

上記の例では、"10*"は不要です-"*"は、比率ベースのサイズ設定を使用する行が1つしかないため、より意味があります。したがって、比率は使用可能なスペースの100%に相当します。

103
Kent Boogaart

他のセルの行または列の自動サイズと固定サイズが*サイズの動作に影響するため、Christian Mosersからの以下の情報が役立つことがわかりました。 http://wpftutorial.net/GridLayout.html を参照してください


固定論理ユニットの固定サイズ(1/96インチ)

Auto含まれているコントロールが必要とするだけのスペースを取ります

Star(*)使用可能な限りのスペースを取り(すべての自動サイズと固定サイズの列を埋めた後)、すべての星サイズの列に比例して分割します。したがって、3 */5 *は30 */50 *と同じ意味です。グリッドサイズがその内容に基づいて計算される場合、スターサイズ設定は機能しないことに注意してください。

<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto" />
        <RowDefinition Height="Auto" />
        <RowDefinition Height="*" />
        <RowDefinition Height="28" />
    </Grid.RowDefinitions>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="Auto" />
        <ColumnDefinition Width="200" />
    </Grid.ColumnDefinitions>
</Grid>
22
levteck