如何让WPF TextBox使用密码字符?

问题描述 投票:25回答:4

我需要把它设置为动态的。

我可以让密码框作为普通文本--我的意思是--用户可以看到他输入的文本吗?

我需要在 "密码会话 "和 "项目计数输入 "会话中使用相同的控件...?

wpf vb.net winforms textbox passwords
4个回答
44
投票

你必须使用 PasswordBox 而不是 TextBox:

<PasswordBox Height="42" Width="200"  Margin="22,28,28,0" 
         Name="passwordBox1" VerticalAlignment="Top" 
         Background="LightBlue" Foreground="DarkBlue" 
         MaxLength="25" PasswordChar="*" 
         />

16
投票

在WPF中有一个新的控件是为密码设计的,它叫做 PasswordBox. 你应该用它来代替 TextBox 如果你需要屏蔽输入。

这里有一篇关于它的简单文章。 要检索输入的值,使用 密码 财产。

编辑: 你几乎问了一个新的问题-- 如何解除WPF PasswordBox中文本的屏蔽?? 据我所知,你不能这样做,尽管你当然可以通过从 PasswordBox.Password

数据绑定到一个 PasswordBox 如果没有一个自定义的帮助类是不可能的--尽管这将降低新的帮助类所提供的更高的安全性。PasswordBox 控制(如上所述). 考虑到这一点。本文包含了关于创建帮助类的一节。 允许您将数据绑定到一个 PasswordBox.


2
投票

或者使用'密码字体'。一种将所有字符显示为点的字体。记得禁用剪切和复制剪贴板功能。


0
投票

也有一些自定义的实现 PasswordBox 你可以根据自己的需要进行修改,请看 本文. 你也可以扩展这个功能,这在使用 PasswordBox 因为它是一个密封的类。

© www.soinside.com 2019 - 2024. All rights reserved.