如何防止TextBox在Grid内垂直拉伸

ako*_*nsu 0 wpf xaml

在下面的标记中,文本框垂直填充整个网格行,无论行的高度有多大.对于单行文本框,这看起来不太好.我需要它垂直居中,并且高度恰好足以适合当前字体.在文本框上设置高度属性有帮助,但我不想在字体更改时硬编码高度.

请帮忙

<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>
Run Code Online (Sandbox Code Playgroud)

Mar*_*age 7

VerticalAlignment文本框设置为Center.默认值Stretch解释了为什么它会拉伸以填充整个网格单元格:

VerticalAlignment="Center"
Run Code Online (Sandbox Code Playgroud)