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

时间:2010-09-25 06:28:16

标签: wpf vb.net winforms textbox passwords

我需要动态地设置它..

我可以将密码框设为普通文本 - 我的意思是 - 用户可以看到他输入的内容。???

其for->我需要使用相同的控件“密码sesion”和“项目计数输入”会话.. ??

4 个答案:

答案 0 :(得分:35)

您必须使用PasswordBox代替TextBox

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

答案 1 :(得分:16)

WPF中有一个专为密码设计的新控件,它被称为PasswordBox。如果需要屏蔽输入,则应使用{而不是TextBox

Here's a brief article about it.要检索输入的值,请使用密码属性。

编辑:您几乎问了一个新问题 - 如何解析WPF PasswordBox中的文本 ?据我所知,你不能,虽然你可以通过从PasswordBox.Password

获取密码的值,按需在常规TextBox中显示它

如果没有自定义帮助程序类,则无法对PasswordBox进行数据绑定 - 尽管这会降低新PasswordBox控件(as described here)提供的增强的安全性。考虑到这一点,this article includes a section on creating a helper class允许您将数据绑定到PasswordBox

答案 2 :(得分:2)

或使用'密码字体'。将所有字符显示为点的字体。请记住禁用剪切和复制剪贴板功能。 http://www.director-online.com/dougwiki/index.php?title=Password_Font_%28ttf%29

答案 3 :(得分:0)

还有PasswordBox的自定义实现,您可以根据需要进行更改,请参阅 this article。你也可以扩展这个PasswordBox无法实现的,因为它是一个密封的类。