【问题标题】:How to make a WPF TextBox use password characters?如何使 WPF 文本框使用密码字符?
【发布时间】:2011-04-17 02:31:44
【问题描述】:

我需要动态设置它..

我可以将密码框设为正常文本吗? 我的意思是-用户可以看到他输入的文本。???

它的原因-> 我需要对“密码会话”和“输入项目计数”会话使用相同的控制..??

【问题讨论】:

  • 那么,在阅读了所有答案(实际上是XY-problem-tailored)之后,并且冒着重复问题的风险,如何让 WPF 文本框使用密码字符

标签: wpf vb.net winforms textbox passwords


【解决方案1】:

你必须使用PasswordBox 而不是TextBox

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

【讨论】:

    【解决方案2】:

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

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

    编辑:您几乎提出了一个新问题 - 如何取消隐藏 WPF PasswordBox 中的文本?据我所知,您不能,尽管您当然可以通过从 PasswordBox.Password 获取密码值来按需将其显示在常规 TextBox 中

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

      • 你也可以添加一些链接吗?
      【解决方案4】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-05-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-27
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多