UWP中Textbox和Passwordbox实现文字居中效果
1. 问题描述:
在UWP开发中,Textbox和Passwordbox的默认样式是左上角对其的方式,虽然Textbox可以通过添加TextAlignment="Center"属性实现水平居中,但是垂直居中仍然没有办法通过自带的属性实现,例如下图显示的是默认左上样式,而有时我们需要自定义样式,比如修改成水平垂直居中对齐,那应该怎么修改呢?

2. 解决方案:
通过创建控件模版来自定义自己需要的样式,具体步骤如下:
1、在试图设计界面或者blend设计器中,在我们需要修改的目标中间上右键点击,创建模版并编辑副本;

定义位置选择“应用程序”就会在App.xmal全局文件中创建,选择“此文档”会在当前xmal文件中创建,这里我们为了方便复用和代码整洁选择“应用程序”

2、此时我们可以看到已经自动生成了Textbox的默认样式模版Textboxstyle

3、我们展开最后一个,找到名称为x:Name=“ContentElement” 的行

在其末尾属性中添加
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
即可实现水平垂直居中效果

4、同理我们修改passwordbox的样式后,保存后我们运行看一下,已经成功了。

3. 总结:
通过创建控件样式模版我们可以灵活的自定义一些我们需要的样式,或者特定的响事件或效果样式,具体可以操看微软文档中控件模版的介绍
https://docs.microsoft.com/zh-cn/windows/apps/design/style/xaml-control-templates