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

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

问题描述:

我知道你不能绑定到WPF中的PasswordBox.Password。我如何处理包含一个的表单?表单上的所有其他控件都绑定到业务对象上的属性,但每次输入更改时都必须手动设置和检索密码属性。如何优雅地处理在WPF中使用PasswordBox?

我知道其他人已经创建了允许绑定到这个属性的自定义控件,但是另一方面,Microsoft显然不允许绑定到这个属性的原因。

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

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

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