Wpf RowDefinition Height=";10*;在XAML网格中是什么意思?

Wpf RowDefinition Height=";10*;在XAML网格中是什么意思?,wpf,xaml,grid,Wpf,Xaml,Grid,我使用Height=“*”表示最后一行的高度应该填充到网格的底部 但“10*”是什么意思 “*”是“1*”的缩写。这是一个比率,因此如果您有两行,一行带有“*”,另一行带有“10*”,前者得到可用空间的1/11,后者得到空间的10/11 在上面的示例中,“10*”是不必要的-“*”更有意义,因为只有一行使用基于比率的大小调整,因此任何比率都将等于可用空间的100%。我发现Christian Mosers提供的以下信息非常有用,因为自动,其他单元格行或列上的固定大小将影响*大小的行为。看 固定

我使用Height=“*”表示最后一行的高度应该填充到网格的底部

但“10*”是什么意思


“*”
“1*”
的缩写。这是一个比率,因此如果您有两行,一行带有
“*”
,另一行带有
“10*”
,前者得到可用空间的1/11,后者得到空间的10/11


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

我发现Christian Mosers提供的以下信息非常有用,因为自动,其他单元格行或列上的固定大小将影响*大小的行为。看


固定的 逻辑单元的固定大小(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>


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

非常有用的答案。官方文档中有限的示例没有明确声明“*”以表示基于比率的间距。@福特是这样做的,但您需要将版本更改为silverlight[link],如果可能,我会投票删除此答案,以避免任何人看到。
<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>