【发布时间】:2011-06-07 12:47:29
【问题描述】:
我有一个用户控件,叫它UserControl,它有一个带有以下列定义的网格:
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" SharedSizeGroup="A"/>
<ColumnDefinition Width="Auto" SharedSizeGroup="B"/>
<ColumnDefinition Width="*" SharedSizeGroup="C"/>
<ColumnDefinition Width="Auto" SharedSizeGroup="D"/>
<ColumnDefinition MinWidth="30" Width="*" SharedSizeGroup="E"/>
<ColumnDefinition MinWidth="30" Width="*" SharedSizeGroup="F"/>
<ColumnDefinition Width="110" SharedSizeGroup="G"/>
<ColumnDefinition MinWidth="30" Width="Auto" SharedSizeGroup="H"/>
<ColumnDefinition MinWidth="30" Width="Auto" SharedSizeGroup="I"/>
<ColumnDefinition MinWidth="30" Width="Auto" SharedSizeGroup="J"/>
<ColumnDefinition MinWidth="30" Width="Auto" SharedSizeGroup="K"/>
<ColumnDefinition MinWidth="30" Width="Auto" SharedSizeGroup="L"/>
</Grid.ColumnDefinitions>
我还有MainWindow,它本身包含一个网格,并在网格上定义了以下属性:
Grid.IsSharedSizeScope="True"
现在,我在MainWindow 的网格中添加了几个用户控件(每个都添加到单独的行)。我的目标是让不同用户控件的每个列宽保持同步。使用SharedSizeGroup 时一切正常,除了一件事。似乎任何宽度为 * 的列都没有表现出应有的行为。看起来* 列宽设置为好像它们是Auto。
SharedSizeGroup 和 * 的大小调整是否有任何限制/问题?这似乎是保持列宽同步的最佳方法,但我似乎无法解决此问题。
谢谢。
【问题讨论】:
标签: wpf xaml layout wpf-controls grid