Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wpf 文本框密码字符_Wpf_Textbox_Passwords_Controls_Char - Fatal编程技术网

Wpf 文本框密码字符

Wpf 文本框密码字符,wpf,textbox,passwords,controls,char,Wpf,Textbox,Passwords,Controls,Char,Windows窗体中的文本框用于具有PasswordChar属性。在WPF中有一个额外的控件:PasswordBox。这不会是一个问题,但我的应用程序只在触摸屏设备上运行。不幸的是,密码框不支持屏幕键盘。我想知道是否有办法将密码字符功能添加到标准文本框中。我相信实现这一点的唯一方法是基于文本框创建自己的控件。然后只需将实际文本属性绑定到返回密码字符而不是实际密码的属性。然后,您可以将密码作为依赖项属性(尽管我听说这相当不安全,这就是为什么它不是密码框中的依赖项属性),或者只是一个常规属性,并通过

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

我相信实现这一点的唯一方法是基于文本框创建自己的控件。然后只需将实际文本属性绑定到返回密码字符而不是实际密码的属性。然后,您可以将密码作为依赖项属性(尽管我听说这相当不安全,这就是为什么它不是密码框中的依赖项属性),或者只是一个常规属性,并通过传递整个textbox对象来访问它。

可能会为您提供所需的内容。

我通过为密码内容创建两个属性并将它们绑定到相同的模型值来解决这个特殊问题。其中一个(可见UI元素)绑定到密码。当然,这个属性上的Get会返回一个要显示的字符数组。必须使用密码文本的函数可以使用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; }
  }
见鬼

我是新来的,但也许我能帮助你。我发现这个->可以与WPF和passwordbox一起工作

private void delete_Click(object sender, RoutedEventArgs e)
    {
    if (pass_passbox.IsFocused == true)
        {
            pass_passbox.Password= "";
        }
    }
ofc u做这个pass_passbox.Text如果它是文本框,但是当更改WPF密码框时,你需要写的密码可以通过passbox.passbox.Password,你可以从屏幕键盘做更改

未完全测试,但u可以通过这种方式重置

你可以这样做:

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

你可以看到这个。pass\u passbox.Password与textbox相同。pass\u passbox.Text

文本框中混淆密码的一个简单方法是使用
Webdings
字体

txtInput.FontFamily = new FontFamily("Webdings");
这不是完全安全的,但在大多数情况下已经足够了。请注意,
Webdings
Wingdings
工作得更好,因为
Wingdings
不包含小写字母,而是以大写返回所有内容

    private void txtBoxPassword_TextChanged(object sender, EventArgs e)
    {
        //password view protection//
        txtBoxPassword.UseSystemPasswordChar = true;
    }
这是一种启用用于向系统隐藏密码的默认字符的方法,如果您希望设置自己的密码字符,只需将事件函数中的实际行替换为以下内容:
txtBoxPassword.PasswordChar='*'//或者任何其他字符

几乎与否相同,这与我的问题完全无关。我说的是Windows上的WPF,另一个问题是关于Windows Phone的Silverlight。起初我试图编写自己的控件,但这会在插入符号位置、字符删除和文本选择方面带来一些问题。因此,我用了一种稍微不同的形式来回答这个问题。我将文本框隐藏在密码框后面,并在密码框聚焦时聚焦文本框。文本框的文本属性绑定到密码框的密码属性。它不是很干净,但对我来说很管用!谢谢