Silverlight:TextBox VerticalContentAlignment ="Center"

Ano*_*ard 7 silverlight xaml

我正在尝试使用VerticalContentAlignment属性垂直居中TextBox 的内容,但它似乎根本没有任何效果.文字保持在顶部.谁能告诉我怎么做?

这是我的代码:

<TextBox Grid.Column="1"
     Grid.Row="0"
     Width="200"
     Height="28"
     VerticalAlignment="Center"
     VerticalContentAlignment="Center" />
Run Code Online (Sandbox Code Playgroud)

Luk*_*ard 7

可以使TextBox中心文本垂直.但是,这确实需要您重新应用其ControlTemplate.

去做这个:

  1. 将Style和ControlTemplate从MSDN上TextBox样式和模板页面复制到合适的<UserControl.Resources>元素.(此ControlTemplate实际上是用于验证工具提示;我们将更改的ControlTemplate在Style中.)
  2. ScrollViewer在TextBox的Style中查找元素,并为其添加VerticalAlignment="Center"属性.

或者,您可以添加该属性

VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
Run Code Online (Sandbox Code Playgroud)

到ScrollViewer.这应该允许您使用VerticalContentAlignment属性设置TextBoxes内容的垂直对齐方式.

如果您希望更改TextBox内容的水平对齐方式,也可以使用相同的方法.