WPF / XAML数据绑定到最远的祖先

时间:2018-09-18 17:24:18

标签: c# wpf xaml

在XAML中,我有一个WPF用户控件(DecisionTreeControl),它代表节点树中的一个节点。该控件创建自己的多个子实例,以通过DataTemplate表示节点的子实例。在最下面的节点上,我需要一个绑定来引用最上面的控件上的Command。当前,我在最下面的节点上的按钮上具有绑定,如下所示:

<Button Command="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type local:DecisionTreeControl}}, Path=SubmitCommand}" CommandParameter={Binding}">

这正确地绑定到当前/最近的DecisionTreeControl,但是我需要它绑定到视觉树中最上面的一个。控件是通过DataTemplates添加的,所以我不能仅使用ElementName,并且层数是动态的,因此不能仅将AncestorLevel设置为固定数。节点也不知道它们有多深,因此我无法绑定到Depth属性。

简而言之,是否有一种方法(最好是通过RelativeSource / FindAncestor)绑定到类型的最高实例上的属性,而不是最近或特定的属性?

如果我可以添加其他信息,请告诉我。谢谢您的宝贵时间。

0 个答案:

没有答案