web-dev-qa-db-ja.com

WPFは、別々のグリッド間で列幅を共有します

WPFUserControlで次の設定を行っています。

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

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

2番目のColumnDefinitionを最初のColumnDefinitionと同じ幅にしたいのですが、明示的な幅を設定したくありません。代わりに、両方のグリッド列を、どちらかのグリッド列の最も長いコンテンツの幅に自動的に拡大する必要があります。

これは可能ですか?

30
devdigital

SharedSizeGroup を使用することで可能です。 IsSharedSizeScope もチェックしてください。

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

<GroupBox>
  <Grid>
    <Grid>
      <Grid.ColumnDefinitions>
        <ColumnDefinition SharedSizeGroup="A" />

詳細については、 ここ を参照してください。

69
Lars Truijens