【发布时间】:2011-01-21 08:46:36
【问题描述】:
我在 WPF (xaml) 中使用 Grid,在 ColumnDefinition 中使用 MinWidth 属性时会产生一些奇怪的效果。例如,当我使用 9 ColumnDefinition 并且每个 ColumnDefinition 都具有 'Width="*"' 属性并且中间列之一也具有 MinWidth 属性时,那么其他列的大小是错误的。
嗯,这很难描述,但是这个 xaml 代码很好地说明了它:
<Grid Width="500">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*" MinWidth="250"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Border Grid.Column="0" Background="Green"/>
<Border Grid.Column="1" Background="Blue"/>
<Border Grid.Column="2" Background="Red"/>
<Border Grid.Column="3" Background="Yellow"/>
<Border Grid.Column="4" Background="Purple"/>
<Border Grid.Column="5" Background="Orange"/>
<Border Grid.Column="6" Background="Azure"/>
<Border Grid.Column="7" Background="LightBlue"/>
<Border Grid.Column="9" Background="LightGreen"/>
</Grid>
运行此 xaml 代码时,您会看到前 3 列的宽度与后 5 列的宽度不同。我希望所有这些都具有相同的宽度。
有谁知道这是否是一个错误。如果有办法正确地做到这一点。
提前致谢。
【问题讨论】: