TextBox密码字符

时间:2012-04-23 14:45:54

标签: wpf textbox passwords controls char

Windows窗体中的文本框曾经有一个PasswordChar属性。在WPF中有一个额外的控件:PasswordBox。这不是问题,但我的应用程序在仅触摸屏的设备上运行。不幸的是,密码框不支持屏幕键盘。我想知道是否有一种方法可以将密码char功能添加到标准文本框中。

6 个答案:

答案 0 :(得分:4)

This answer可能会为您提供所需的信息。

答案 1 :(得分:2)

我通过为密码内容创建两个属性并将它们绑定到相同的Model值来解决这个特定问题。其中一个(可见的UI元素)绑定到密码。当然,Get on this属性返回一个字符数组以供显示。必须使用密码文本的函数可以使用PlainPassword属性。

添加" UpdateSourceTrigger = PropertyChanged"对于文本框的绑定会导致字符在键入时显示在文本框中。

  public string Password
  {
     set
     {
        Model.Password = value;
        OnPropertyChanged("Password");
     }
     get 
     {
        return new String('●', Model.Password.Length); 
     }
  }

  public string PlainPassword
  {
     set
     {
        Model.Password = value;
        OnPropertyChanged("Password");
     }
     get { return Model.Password; }
  }

答案 2 :(得分:1)

我相信你能做到这一点的唯一方法就是根据文本框创建自己的控件。然后将实际的text属性绑定到一个返回密码字符而不是实际密码的属性。然后你可以把密码作为依赖属性拉(虽然我听说这是不安全的,这就是为什么它不是密码框中的依赖属性),或者只是一个常规属性并通过传递整个文本框对象来访问它

答案 3 :(得分:0)

混淆TextBox中的密码的一种简单方法是使用Webdings字体。

txtInput.FontFamily = new FontFamily("Webdings");

这并不完全安全,但在大多数情况下足够了。请注意,WebdingsWingdings的效果更好,因为Wingdings不会覆盖小写字母,而是返回大写字母。

答案 4 :(得分:0)

OperationalErrorMySQLdb.connections in defaulterrorhandler
error(1205, 'Lock wait timeout exceeded; try restarting transaction')

这是启用用于从系统隐藏密码的DEFAULT字符的方法,如果您希望设置自己的密码char,只需将事件函数中的实际行替换为以下内容:      txtBoxPassword.PasswordChar ='*'; //或其他任何字符

答案 5 :(得分:-1)

您好!

我是新来的,但也许我可以帮助你。我找到了这个 - >可以工作惠特WPF和密码箱

private void delete_Click(object sender, RoutedEventArgs e)
    {
    if (pass_passbox.IsFocused == true)
        {
            pass_passbox.Password= "";
        }
    }

ofc你这样做pass_passbox.Text如果它的文本框,但是当你需要写改变WPF密码箱时,可以通过pass_passbox.Password和你可以从屏幕键盘进行更改。

没有完全测试,但你可以这样重置

你可以选择这样:

string Query = "Select * from [employeeinfo] where username='" + this.txt_user_name.Text + "' and password='" + this.pass_passbox.Password + "' ";

你可以看到this.pass_passbox.Password在textbox这是相同的.pass_passbox.Text

相关问题