我有2 Columns
除以GridSplitter
。我想以百分比(例如5*
)设置列的MaxWidth,但它不起作用。还有其他办法吗?
<Grid.ColumnDefinitions>
<ColumnDefinition Width="6*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<GridSplitter ResizeDirection="Columns"
Grid.Column="0"
HorizontalAlignment="Right"
VerticalAlignment="Stretch"
Height="auto"
Background="#c1c1c1"
BorderBrush="#c1c1c1"
BorderThickness="1"/>
答案 0 :(得分:2)
如果您查看ColumnDefinition
的{{3}}文档,则MinWidth
和MaxWidth
的类型为double
,而不是Width
属性,属于GridLength
类型 - 这就是为什么它支持Auto
,*
作为Widtth的有效值。因此,指定MinWidth,MaxWidth百分比的中间值不是一件简单的事情。
但是,您可以编写一个Converter
,它可以将Auto, *
作为输入值并进行数学计算,然后为MaxWidth设置一个有效值。