【问题标题】:How do I elegantly handle using a PasswordBox in WPF?如何优雅地处理在 WPF 中使用 PasswordBox?
【发布时间】:2009-08-07 13:58:13
【问题描述】:
我知道您不能在 WPF 中绑定到 PasswordBox.Password。如何处理包含一个表单?表单上的所有其他控件都绑定到业务对象的属性,但每当输入更改时,我必须手动设置和检索密码属性。
我知道其他人已经创建了允许绑定到此属性的自定义控件,但另一方面,Microsoft 明确禁止绑定到此属性是有原因的。
对于这个问题是否有任何优雅的解决方案,或者我是否坚持编写代码来弥合我的表单和我的业务对象之间的差距?
【问题讨论】:
标签:
c#
.net
wpf
binding
passwordbox
【解决方案1】:
只需绑定到 PasswordBox 本身,即{Binding ElementName=MyPasswordBox}。
【解决方案2】:
这也是this 的重复,您可以在那里找到另外两种方法:一种(在问题中)在 ViewModel 上具有 PasswordBox 公共属性(我不喜欢这种方法),另一种(在接受的答案中) ) 在 ViewModel 上带有事件处理程序和 SecureString 属性。这有点“传统”,但我更喜欢这种方法,而不是编写多行代码来将密码与附加属性绑定。
希望这会有所帮助。