Grid ColumnDefinition Width:*和<columndefinition> </columndefinition>之间的差异

时间:2014-02-19 18:11:03

标签: c# wpf xaml layout grid

我经常看到列的这两个定义:

            <Grid>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="*" />
                    <ColumnDefinition Width="*" />
                </Grid.ColumnDefinitions>

                <Grid>
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition />
                        <ColumnDefinition />
                    </Grid.ColumnDefinitions>

据我了解,两者都将网格划分为两列宽度相同的列。是否有任何差异或约定?

1 个答案:

答案 0 :(得分:1)

直接回答:这两者没有区别。

详细解答:

Star(*)值按加权比例分配网格中的可用空间。 你在这里给出的比例对于两个ColumnDefinition都是相同的,这意味着第一列和第二列将采用相同的比例,因为它是相同的,并且是一个*。

现在,当您没有设置宽度值,并且因为它由GridUnitType枚举来描述时,XAML会自动将其设置为Star,这是它的默认值。