【问题标题】:WPF DependencyProperty Binding ChangedWPF DependencyProperty 绑定已更改
【发布时间】:2012-04-17 09:52:53
【问题描述】:

简单的问题,但我在网上找不到任何答案:

我在自定义控件中有一个DependencyProperty,想知道何时有人绑定到它。 有什么办法吗?

我首先想到的是使用PropertyChangedCallback,但它并不是在所有情况下都有效。 例如,如果我的 DependencyProperty 的默认值为 0,并且绑定的值也是 0,则 PropertyChangedCallback 不会触发。

非常感谢,

安东尼

【问题讨论】:

  • 你为什么想知道这个?我想不出一个用例。
  • 我只能问和丹尼斯一样的问题。您想控制谁可以进行数据绑定吗?你想拒绝一些数据绑定吗?您只想监控数据绑定吗?
  • 可以从 BindingOperations 静态类中获取一些信息,但可能不是您想要的(据我所知,没有理由想要获取此信息)。
  • 嗨丹尼斯和dowhilefor,感谢您的cmets。事实上,我的用例是我想检索一个 MetaData 成员,该成员可以设置在绑定的源属性(模型属性)之上。当值改变时效果很好,但是当它设置为0(DP的默认值)时,我的方法都没有被调用
  • @EvAlex 感谢您的回答建议,我不知道您为什么撤回它?覆盖“SetBinding()”是一种有趣的方式,但我不太喜欢使用“new”关键字...

标签: wpf binding dependency-properties


【解决方案1】:

我发现CoerceValueCallback被多次调用,即使值没有改变。

即使我没有设置Binding,它也会被调用,但至少我设置一个时也会调用它。

我想我现在会使用它,并检查是否有 BindingBindingOperations

如果你有更好的想法,我会很乐意学习的!

谢谢:)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-20
    • 2023-03-12
    • 2011-05-31
    • 1970-01-01
    • 2013-01-20
    • 2011-08-06
    相关资源
    最近更新 更多