我在StackOverflow上看过以下内容,并没有多想。但是我在查看ScrollBar.ControlTemplate
时在微软的文档中看到了它,并且认为我必须遗漏一些东西。
当没有其他定义使用RowDefinition
时,为ColumnDefinition
或GridUnitType.Star
指定加权值有什么好处?
例如,这两个链接都包含:
<Grid.RowDefinitions>
<RowDefinition MaxHeight="18"/>
<RowDefinition Height="0.00001*"/>
<RowDefinition MaxHeight="18"/>
</Grid.RowDefinitions>
我的理解是这是相同的:
<Grid.RowDefinitions>
<RowDefinition MaxHeight="18"/>
<RowDefinition Height="*"/>
<RowDefinition MaxHeight="18"/>
</Grid.RowDefinitions>
那有什么意义呢?公约,表演,历史?我在documentation中看不到任何内容。我错过了什么?
答案 0 :(得分:1)
在您的示例中,没有其他RowDefinition
指定高度,因此默认情况下,所有RowDefinition.Height
都设置为* -sized。所以在你的第一个例子中,这是等价的:
<Grid.RowDefinitions>
<RowDefinition Height="*" MaxHeight="18"/>
<RowDefinition Height="0.00001*"/>
<RowDefinition Height="*"MaxHeight="18"/>
</Grid.RowDefinitions>
意思是,如果高度是&lt;对于这两列,第二个RowDefinition
将拥有网格中可用空间的0.00001/2.00001
。