添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
在UWP应用开发中,通过创建控件模板可以自定义TextBox和PasswordBox的样式以实现文字水平垂直居中。具体步骤包括编辑控件模板,针对ContentElement添加HorizontalAlignment和VerticalAlignment属性,设置为TemplateBinding,从而实现所需效果。这种方法为自定义样式提供了灵活性,并可通过微软官方文档了解更多关于控件模板的使用。 摘要由CSDN通过智能技术生成

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

<PasswordBox Name="Pwd" FontSize="20" Foreground="White" Background="Transparent" BorderThickness="0" MaxLength="11" Margin="95,
众所周知,Winform TextBox 设置文本对齐方式只提供了左、(水平居)、右三种对齐方式,没有所谓的垂直居中,我们可以自己粗略的实现垂直居中效果思路其实很简单,就是通过换行的方式,所以这种方式严格上只有textBox的高度刚刚等于奇数行数的时候才是真的居,其他情况只是看起来接近于居。 计算文本高度并根据textBox高度计算需要换行的行数 当然,能避免用textbox实现就避免,直接用label这样支持的更好...
如题,C# winform 如何让TextBox文本内容垂直居中? 初一看感觉这个问题很简单,但实际比较复杂。winform的TextBox控件本身是不提供这个属性的。 本文提供一个可靠可用的重写控件给大家使用。 相信本文能够给一些需要此控件的人带去很大的方便。 页面page: <TextBox Style="{StaticResource TextBoxStyle1}" Height="30" Width="180" Text="TextBox"></TextBox> 资源字典TextBoxStyle1: <ResourceDictionary     xmlns="http://s
winformSystem.Windows.Forms.TexBox垂直居中 1. 解决方案: 在TexBox外层添加System.Windows.Forms.Panel,注意设置textbox和panel的Location,Size属性,并把textbox添加到panel。 转载于:https://www.cnblogs.com/quiland/p/3490360.htm...
各位商店应用的开发者们应该经常会碰到以下情况,Visual Studio里面自带控件的默认外观比较朴素,通常这些默认的控件外观很难融入丰富多彩的用户界面,不能帮助开发者们构建漂亮的界面。 Visual Studio为开发者们定制控件外观提供了很好的手段,本篇博文将主要通过两个简单的例子告诉大家如何
前一段时间看@消失3003的博客,发现了textboxt的header属性。这一属性在编写UI时可以节约不少代码,十分有用。 之前编写一个如下的微信登陆界面,代码会很长; 未使用Header属性的UI及代码; 代码如下; <TextBlock Text="登录" FontSize="20" Margin="0,15,0...
Unknown host ‘XXXX: nodename nor servname provided, or not known‘. You may need to adjust the proxy