在Windowsapp store的TextBlock和PasswordBox中垂直和水平居中文本

我试图将文本居中在TextBlock和PasswordBox中。

在TextBlock中,我使用TextAlignment属性水平居中文本,但它仍然靠近顶部。 如何垂直居中?

而在PasswordBox中没有与文本对齐关联的属性,如何实现这一点?

TextAlignment用于水平对齐。 TextBlock本身不支持垂直对齐。

我建议在它周围放一个边框,让边框做垂直对齐:

   

或者其他方式是在文本块中使用高度和设置填充。

对于WPF中的密码框使用:

  

对于Silverlight,您需要提取passwordbox的实际模板(使用blend它可以编辑模板并复制它)然后您可以使用模板绑定更改成员(在BorderElement类型为Border),如:

 HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" 

您也可以在此msdn链接获取模板。

对于Silverlight中的passworbox更新xaml中的密码框样式,如下所示:

                                              

然后你的PasswordBox可以这样对齐:

  

将TextBlock更改为Label。 Label具有VerticalContentAlignment属性,该属性用于垂直居中。