在下面的标记中,文本框垂直填充整个网格行,无论行的高度有多大 . 对于单行文本框,这看起来不太好 . 我需要它垂直居中,高度恰好足以适合当前的字体 . 在文本框上设置高度属性有帮助,但我不想在字体更改时硬编码高度 .
请帮忙
<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>
1 回答
将文本框的
VerticalAlignment
设置为Center
. 默认值为Stretch
,这解释了为什么它会拉伸以填充整个网格单元格: