我想知道是否有可能获取所有将给定的DependencyProperty
设置为其源的绑定?
我查看了DependencyPropertyDescriptor
类,通过DependencyPropertyDescriptor.FromProperty(DependencyProperty, Type)方法,但是没有成功。它只允许注册更改通知的监听器,但没有办法检查已注册的监听器(在我的情况下是绑定)。
我还查看了BindingOperation类,在那里所有操作仅适用于绑定目标,而不是源。
如果我能够获得已注册侦听器的多路委托并获取调用列表,甚至就足够了。
编辑
经过一些反射魔法后,我决定尝试通过实现ICustomTypeDescriptor并拦截GetProperties方法来钩取PropertyDescriptor上的Add/Remove ValueChanged方法。从那里,我可以拦截正在注册更改通知的委托...