5

4 列のグリッドがあり、2 番目の列にテキスト ボックスを配置し、最後の列にまたがるとします。テキストボックスの幅を最後の3列と同じ幅にするにはどうすればよいですか?

Borders で何か試してみましたが、うまくいきませんでした。

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

      <TextBox Grid.Column="1" Grid.ColumnSpan="3" />
</Grid>
4

3 に答える 3

7

TextBox に幅を与えるか、ColumnDefinition の幅を Auto ではなく * にします。最後の列まで広がっていますが、幅が自動であるため、表示できません。

于 2012-02-28T13:26:00.413 に答える
3

現在、幅が自動であるため、最後の 3 列がテキスト ボックスに収まっています。

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

  <TextBox Grid.Column="1" Grid.ColumnSpan="3" />
  </Grid>
于 2012-02-28T14:09:39.480 に答える
3

Dipesh Bhattが彼の答えに正しく入れたように、問題の解決策は * または列の幅として特定のものを入れることです。

あなたの例で何が起こるかは、列の自動幅が「必要なだけ取る」と言っているため、空のテキストボックスには非常に小さな幅が必要であり、ほとんど見えないため、幅はほとんどありません。

列の幅の * は、「使用可能なスペースを取得する」ことを示しています。これにより、列の幅が増加するため、テキストボックスにより多くのスペースが与えられます。

これは、あなたが望んでいたことをすでに達成していることを意味しますが、列の幅が最小限であるため、ほとんど見えません。

于 2012-02-28T14:13:23.797 に答える