在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%的网格