获取所有绑定到DependencyProperty的绑定项

3

我想知道是否有可能获取所有将给定的DependencyProperty设置为其的绑定?

我查看了DependencyPropertyDescriptor类,通过DependencyPropertyDescriptor.FromProperty(DependencyProperty, Type)方法,但是没有成功。它只允许注册更改通知的监听器,但没有办法检查已注册的监听器(在我的情况下是绑定)。

我还查看了BindingOperation类,在那里所有操作仅适用于绑定目标,而不是源。

如果我能够获得已注册侦听器的多路委托并获取调用列表,甚至就足够了。

编辑

经过一些反射魔法后,我决定尝试通过实现ICustomTypeDescriptor并拦截GetProperties方法来钩取PropertyDescriptor上的Add/Remove ValueChanged方法。从那里,我可以拦截正在注册更改通知的委托...

1个回答

1

我也很想知道这个问题的答案!可能微软从未提供此类API,因为它是一种相互依赖的要求。在WPF中,GUI(目标!)是依赖值更改的驱动程序,因此所有依赖属性都会随着目标GUI上升或附加,因此API是以目标驱动而不是源(可以是该目标的许多源)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接