Windows窗体中的文本框曾经有一个PasswordChar属性。在WPF中有一个额外的控件:PasswordBox。这不是问题,但我的应用程序在仅触摸屏的设备上运行。不幸的是,密码框不支持屏幕键盘。我想知道是否有一种方法可以将密码char功能添加到标准文本框中。
答案 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");
这并不完全安全,但在大多数情况下足够了。请注意,Webdings
比Wingdings
的效果更好,因为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