【问题标题】:Bind to DependencyProperty in code在代码中绑定到 DependencyProperty
【发布时间】:2010-12-15 17:46:07
【问题描述】:

我有一个从具有多个 DependencyProperties 的 DependencyObject 派生的对象。这个对象是给定的,我不能在这个对象中添加 ValueChanged 回调。

我希望收到任何属性更改的通知(在代码中,而不是 xaml)。当对象实现 INotifyPropertyChanged 时,您可以订阅 PropertyChanged 事件。这对 DependencyObjects 有何作用?

【问题讨论】:

    标签: c# .net dependencyobject


    【解决方案1】:

    查看this link

    • 如果要公开 DP,则可以在注册 DP 时在元数据参数中指定属性更改回调。
    • 如果您正在收听您无法控制的其他人的 DP,您将获取一个 DependencyPropertyDescriptor 实例并使用它来附加您的回调

    【讨论】:

    • 很方便,但是没有办法不绑定到特定的DependencyProperty而是对对象进行任何更改?
    • @Wouter - 除非对象希望您公开 IsChanged 或 IsDirty 属性,否则不会。我不知道任意对象的通用(任何)更改通知机制。
    【解决方案2】:

    如果您使用WPF,您可以使用DependencyProperty.OverrideMetadata() 添加值更改回调。

    【讨论】:

      猜你喜欢
      • 2018-08-15
      • 2013-06-03
      • 1970-01-01
      • 2012-06-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多