RowDefinition Height =“10 *”在XAML网格中的含义是什么?

时间:2009-07-22 09:50:32

标签: wpf xaml grid

我使用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>

3 个答案:

答案 0 :(得分:102)

"*""1*"的简写。它是一个比率,所以如果你有两行,一个有"*",一个有"10*",前者得到1/11,后者得到10/11的空间。

在上面的示例中,"10*"是不必要的 - "*"会更有意义,因为只有一行使用基于比率的大小调整,因此任何比率都等于可用空间的100%。

答案 1 :(得分:21)

我发现下面的信息来自Christian Mosers是有用的,因为自动和其他单元格行或列上的固定大小将影响*大小的行为。请参阅http://wpftutorial.net/GridLayout.html


<强>固定 固定大小的逻辑单位(1/96英寸)

自动 占用控件所需的空间

<强>星(*) 占用尽可能多的空间(在填充所有自动和固定大小的列之后),按比例划分所有星形大小的列。所以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>

答案 2 :(得分:-13)

在xaml中*用于百分比(%),因此10*表示总网格的10%。该行将使用10%的网格