0

在下面的标记中,文本框垂直填充整个网格行,无论行高有多大。对于单行文本框,这看起来不太好。我需要它垂直居中,并且高度刚好适合当前字体。在文本框上设置 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 回答