在這個例子中,第一列獲得100,後兩列各得50,這是預期的行爲。爲什麼在中間列有MinWidth時,WPF Grid不能平均分配空間?
<Grid Width="200" Height="200">
<Grid.ColumnDefinitions>
<ColumnDefinition MinWidth="100" />
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<Border Background="Red" Grid.Column="0" />
<Border Background="Yellow" Grid.Column="1" />
<Border Background="Blue" Grid.Column="2" />
</Grid>
如果我移動到MinWidth中間列...
<Grid Width="200" Height="200">
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition MinWidth="100" />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<Border Background="Red" Grid.Column="0" />
<Border Background="Yellow" Grid.Column="1" />
<Border Background="Blue" Grid.Column="2" />
</Grid>
...然後第一列獲得33.3%和最後一列66.6,這似乎不可思議。不知道爲什麼這會改變電網的行爲。我希望列0和2各得50。
更新:我明白爲什麼會這樣,但如果有人認爲這是一個錯誤(特別是在Silverlight的行爲是不同的)
尋找twitter上的答案?好吧,我想它是有效的。 – Will 2010-09-15 13:56:59
嗯。我使用的是C#3.5,我的紅色列是藍色列的大小,藍色列是第二個示例中紅色列的大小。 – Crispy 2010-09-15 17:11:18
@Chris是的,它改變了4.0。我無法在任何地方發現變化記錄,所以我打開了一個連接。 – Will 2010-09-15 19:17:23