【发布时间】:2013-01-05 21:29:33
【问题描述】:
我有一个标准的 WPF 网格,其中 2 列定义为:
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" MinWidth="200" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
...
</Grid>
我想要实现的是第二列根据其内容自动调整大小,第一列获得所有剩余空间。但是我也希望第一列永远不会少于 200 像素。问题是使用这种配置我的自动列将被切断而不是调整大小。
我真正想要的是 WPF 首先为第一列分配 200 个像素,然后占用所有剩余空间并要求第二列的内容调整自身大小,并限制剩余宽度的最大大小。如果内容需要较少的空间,则应将剩余空间分配给第一列(使其大于 200 像素)。
用例:我的第二列是具有固定纵横比的图像,因此对于给定的高度,存在最佳宽度。我还有第一列,其中包含一些应该始终可见的控件。如果可用空间比需要的多,我想将空间分配给第一列而不是第二列。
有没有办法使用默认的 WPF 控件来实现这一点,还是我需要为此编写自己的 Grid?
【问题讨论】:
标签: .net wpf xaml layout resize