为单个GridUnitType.Star列/行指定加权值的优势?

时间:2015-12-18 19:25:26

标签: wpf xaml

我在StackOverflow上看过以下内容,并没有多想。但是我在查看ScrollBar.ControlTemplate时在微软的文档中看到了它,并且认为我必须遗漏一些东西。

当没有其他定义使用RowDefinition时,为ColumnDefinitionGridUnitType.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中看不到任何内容。我错过了什么?

1 个答案:

答案 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