网格列宽 - 混合*(星形),自动并填充左侧空间

时间:2012-04-20 10:08:10

标签: wpf grid width alignment

我在列定义后面有一个网格宽度:

<Grid.ColumnDefinitions>
        <ColumnDefinition MinWidth="320" MaxWidth="450" Width=".32*"/>
        <ColumnDefinition MinWidth="200" Width="Auto"/>
        <ColumnDefinition MinWidth="200" Width="Auto"/>
        <ColumnDefinition Width="Auto"/> <- (4) should fill all available space
        <ColumnDefinition MinWidth="250" MaxWidth="300" Width=".20*"/>
</Grid.ColumnDefinitions>

问题是在列(4)上将宽度设置为自动将其宽度归零并且最后一列与第三列相邻。我想让最后一列与应用程序的右边缘对齐,前三对齐到左边。

我也无法将(4)宽度设置为星号(*) - 显然它相对于第一列和最后一列延伸。

我一直在尝试使用horizo​​ntalalignments,但结果是 - 内容没有填充列宽。我可以将内容宽度绑定到列宽或者像这样,但是我很好奇是否有一些简单的方法来实现(4)列填充所有左边空间。

1 个答案:

答案 0 :(得分:2)

我认为你并没有完全看不出(*)代表加权平均值。

所以你的情况。

<Grid.ColumnDefinitions>
     <ColumnDefinition MinWidth="320" MaxWidth="450" Width="3*"/>
     <ColumnDefinition MinWidth="200" Width="Auto"/>
     <ColumnDefinition MinWidth="200" Width="Auto"/>
     <ColumnDefinition Width="5*"/>
     <ColumnDefinition MinWidth="250" MaxWidth="300" Width="2*"/>
 </Grid.ColumnDefinitions> 

如果您希望将色谱柱(4)缩小,可以降低*重量并增加您喜欢的位置。

希望它有所帮助...