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