如何在WPF中优雅地使用PasswordBox?

时间:2009-08-07 13:58:13

标签: c# .net wpf binding passwordbox

我知道你无法在WPF中绑定到PasswordBox.Password。如何处理包含一个的表单?表单上的所有其他控件都绑定到业务对象上的属性,但只要输入发生更改,我就必须手动设置和检索密码属性。

我知道其他人已经创建了允许绑定到此属性的自定义控件,但另一方面,Microsoft出于某种原因明确禁止绑定到此属性。

这个问题是否有任何优雅的解决方案,或者我是否因为编写代码来弥合我的表单和业务对象之间的差距?

2 个答案:

答案 0 :(得分:1)

只需绑定到PasswordBox本身,即{Binding ElementName=MyPasswordBox}

答案 1 :(得分:1)

它也是this的重复,在那里你可以找到另外两种方法:一个(在问题中)在ViewModel上有一个PasswordBox公共属性(我不喜欢这个方法),另一个(在接受回答)使用和事件处理程序以及ViewModel上的SecureString属性。它有点“传统”,但我更喜欢这种方法,而不是编写许多行代码来将密码绑定到附加属性。 希望这会有所帮助。