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