在XAML Grid中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> 

"*""1*"简写。 这是一个比例,所以如果你有两行,一个是"*" ,另一个是"10*" ,前者获得1/11的可用空间,后者获得10/11的空间。

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

我发现基督教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> 

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