我正在尝试使用VerticalContentAlignment属性垂直居中TextBox的内容,但它似乎根本没有任何效果。文字保持在顶部。谁能告诉我怎么做?
这是我的代码:
<TextBox Grid.Column="1"
Grid.Row="0"
Width="200"
Height="28"
VerticalAlignment="Center"
VerticalContentAlignment="Center" />
答案 0 :(得分:7)
可以使TextBox文本垂直居中。但是,这确实需要您重新应用其ControlTemplate。
要做到这一点:
<UserControl.Resources>
元素。 (此ControlTemplate实际上是用于验证工具提示;我们将更改的ControlTemplate在Style中。)ScrollViewer
元素,并为其添加VerticalAlignment="Center"
属性。或者,您可以添加属性
VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
到ScrollViewer。这应该允许您使用VerticalContentAlignment属性设置TextBoxes内容的垂直对齐方式。
如果您希望更改TextBox内容的水平对齐方式,也可以使用相同的方法。
答案 1 :(得分:-1)
XAML代码是正确的,以下内容应该足够了:
<TextBlock Text="Centered Text" VerticalAlignment="Center" />
您可以在网格外尝试该代码吗?
检查您在网格上定义的属性,这可能会导致您的行为。你可以发布完整的XAML代码吗?