



























有人发现想Password的控件中实现如下的绑定,
Code
后代代码:
Code
却总是报错。
原因是PasswordBox的password属性并没有相应的DependencyProperty(依赖属性),所以就不可以实现绑定。
但是你可以暴露出来一个依赖属性,在内存中存储PasswordBox的文本,PasswordBox 可以对他的文本进行加密并且只在调用密码CLR属性时生成普通的文本。
如下所示:
1. 定义一个PasswordBoxHelper 类,并注册一个依赖属性PasswordBind
Code
2. 你就可以绑定到你的PasswordBox 控件上在xaml代码中:
<PasswordBox o:PasswordHelper.PasswordBind="{Binding Path=Password, Source={StaticResource mainController}}" />
由于使用的绑定方式是OneWay, 所以PasswordBox的Password属性的值只会随着数据源而改变,当用户输入密码时并不能改变数据源绑定的值,因为用户输入的值只是关联到Password的password属性,而不是附加的属性passwordbind。
如果要检查用户的输入,需要使用PasswordBox的事件PasswordChanged。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。