【问题标题】:Is binding of UpdateSourceTrigger to a DependencyProperty possible?是否可以将 UpdateSourceTrigger 绑定到 DependencyProperty?
【发布时间】:2020-06-03 09:32:23
【问题描述】:

我想将 PasswordBox 的 Binding 的 UpdateSourceTrigger 动态设置为 LostFocus 或 PropertyChanged。

有没有办法像这样将 Binding 的 UpdateSourceTrigger 绑定到 DependencyProperty?

Password="{Binding Path=PasswordProperty, Mode=TwoWay, UpdateSourceTrigger={Binding UpdateSourceTriggerProperty}"

亲切的问候, 安迪

【问题讨论】:

  • 没有。 Binding 不是 DependencyObject,您不能绑定它的属性。您也许可以使用 DataTrigger 来设置密码绑定。

标签: wpf updatesourcetrigger


【解决方案1】:

您不能以您尝试的方式更改现有绑定的UpdateSourceTrigger,因为正如 Clemens 指出的那样,它不是依赖属性。通常,您可以通过使用 StyleDataTriggers 替换整个绑定来完成此操作,但在这种情况下,您也不能这样做,因为 Password 也不是依赖项属性

后一点是微软有意的设计选择:

当您获得Password 属性值时,您将密码作为纯文本公开在内存中。为避免这种潜在的安全风险,请使用SecurePassword 属性以SecureString 形式获取密码。

有关更多解释,您可以从问题How to bind to a PasswordBox in MVVM 中查看此great answer

【讨论】:

    猜你喜欢
    • 2017-10-30
    • 1970-01-01
    • 1970-01-01
    • 2012-06-06
    • 1970-01-01
    • 1970-01-01
    • 2011-05-18
    • 2021-10-06
    • 2011-09-30
    相关资源
    最近更新 更多