WPF在单独的网格之间共享列宽

dev*_*tal 30 wpf grid user-controls styling

我的WPF UserControl上有以下设置:

<GroupBox>
  <Grid>
    ...
    <Grid>
      <Grid.ColumnDefinitions>
        <ColumnDefinition Width="Auto" />

<GroupBox>
  <Grid>
    <Grid>
      <Grid.ColumnDefinitions>
        <ColumnDefinition Width="..." />
Run Code Online (Sandbox Code Playgroud)

我希望第二个ColumnDefinition与第一个ColumnDefinition的宽度相同,但我不想设置显式宽度.相反,我希望两个网格列自动拉伸到任一网格列中最长内容的宽度!

这可能吗?

Lar*_*ens 71

可以使用SharedSizeGroup.还可以查看IsSharedSizeScope.

<GroupBox Grid.IsSharedSizeScope="True">
  <Grid>
    ...
    <Grid>
      <Grid.ColumnDefinitions>
        <ColumnDefinition Width="Auto" SharedSizeGroup="A" />

<GroupBox>
  <Grid>
    <Grid>
      <Grid.ColumnDefinitions>
        <ColumnDefinition SharedSizeGroup="A" />
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请参见此处

  • 还要确保在两个网格的外部容器上设置`Grid.IsSharedSizeScope ="True"`,否则它将无法正常工作 (24认同)