如何找到绑定到属性的所有目标依赖项属性?
|
例如:
<UserControl>
<TextBox Text=\"{Binding Path=Foo, Mode=TwoWays}\"/>
<TextBlock Text=\"{Binding Path=Foo}\"/>
</UserControl>
在代码中,是否可以找到将Foo属性用作源的依赖项属性列表?
没有找到相关结果
已邀请:
2 个回复
究补闯
然后,“ 3”属性将引用字符串“ 4”,而不是您的对象。在绑定中还使用Source,ElementName和RelativeSource属性的情况。 假设您只有一个DataContext并且仅使用单个单词路径,那么您可能会找到大多数(如果不是全部)目标。 首先,您需要遍历视觉树和逻辑树VisualTreeHelper中的每个元素以遍历视觉树。逻辑树会更复杂。 对于每个元素,您都必须遍历定义的每个依赖项属性。为此,您必须对类型为DependencyProperty的公共静态字段使用反射。 接下来,对于每个依赖项属性,您必须调用GetBindingExpression以获取关联的BindingExpression。然后,您可以使用ParentBinding属性获取父绑定。 然后,只需比较路径属性即可。
抵浮细