HierarchicalDataTemplate中的WPF绑定父属性

lam*_*ora 5 wpf binding properties parent hierarchicaldatatemplate

我有一个WPF,TreeView有2个级别的数据,2个HierarchicalDataTemplate格式化每个级别.从HierarchicalDataTemplate第二级开始,我需要在第一级的类中绑定一个属性.我试过这种方式,但它不起作用:

Text="{Binding Path=Ori, RelativeSource={RelativeSource TemplatedParent}}"
Run Code Online (Sandbox Code Playgroud)

Ori作为名称的propery

即使这样它也不起作用:

Text="{Binding Path=tOri, RelativeSource={RelativeSource TemplatedParent}}"
Run Code Online (Sandbox Code Playgroud)

tOri作为的名字TextBlock在最前一页HierarchicalDataTemplate结合的Ori属性格式.

你能帮助我吗?

Joh*_*wen 9

TemplatedParent仅引用ControlTemplate中的父Control,因此不能与DataTemplates一起使用.您可以使用FindAncestor来查找父TreeViewItem,然后访问其DataContext.

Text="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type TreeViewItem}, AncestorLevel=2}, Path=DataContext.Ori}"
Run Code Online (Sandbox Code Playgroud)