如何从ItemTemplate XAML绑定到HierarchicalDataTemplate的DataContext?

时间:2013-04-23 09:47:17

标签: wpf xaml binding itemtemplate hierarchicaldatatemplate

在我的WPF TreeView中,我定义了一个HierarchicalDataTemplate。在ItemTemplate中,有一个按钮Command我需要绑定到父ViewModel,这是父DataContext的{​​{1}},换句话说,就是ViewModel在下面的示例中包含集合HierarchicalDataTemplateSubItems自己的ItemTemplate - SubItem - 将用作DataContext

CommandParameter

如何才能在XAML中完成?

1 个答案:

答案 0 :(得分:3)

以下绑定应该有效:

<Button Command="{Binding DataContext.Command, 
        RelativeSource={RelativeSource AncestorLevel=2, AncestorType=TreeViewItem}}"
        CommandParameter="{Binding}" />

这将绑定到与当前TreeViewItem的父TreeViewItem相关联的DataContext的Command属性(在您的情况下是保存集合SubItems的VM)。