与屏幕分辨率相关的C#/ WPF Grid MaxWidth

时间:2013-10-28 17:27:21

标签: c# .net wpf grid gridsplitter

我有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"/>

1 个答案:

答案 0 :(得分:2)

如果您查看ColumnDefinition的{​​{3}}文档,则MinWidthMaxWidth的类型为double,而不是Width属性,属于GridLength类型 - 这就是为什么它支持Auto*作为Widtth的有效值。因此,指定MinWidth,MaxWidth百分比的中间值不是一件简单的事情。

但是,您可以编写一个Converter,它可以将Auto, *作为输入值并进行数学计算,然后为MaxWidth设置一个有效值。