0

以下のマークアップでは、行の高さに関係なく、グリッド行全体を埋めるためのテキストボックスが垂直方向に表示されます。1行のテキストボックスの場合、これは見栄えがよくありません。代わりに垂直方向の中央に配置し、現在のフォントにちょうど合う高さにする必要があります。テキストボックスにHeightプロパティを設定すると便利ですが、フォントが変更された場合に備えて高さをハードコーディングしたくありません。

<Grid FocusManager.FocusedElement="{Binding ElementName=TitleBox}">
  <Grid.ColumnDefinitions>
    <ColumnDefinition Width="*" />
    <ColumnDefinition Width="Auto" />
  </Grid.ColumnDefinitions>
  <TextBox Name="TitleBox"
           Text="{Binding Title, UpdateSourceTrigger=PropertyChanged}"
           Grid.Column="0" />
  <Button Command="{Binding CreateCommand}"
          IsDefault="True"
          Grid.Column="1">Create</Button>
</Grid>
4

1 に答える 1

7

VerticalAlignmentテキスト ボックスの を に設定しますCenter。デフォルトはStretch、グリッド セル全体を埋めるために拡大する理由を説明するものです。

VerticalAlignment="Center"
于 2012-05-01T15:04:53.763 に答える