有没有办法在WPF树视图中执行鼠标或键绑定?
<TreeView ItemsSource="{Binding Main.TreeItems}">
<TreeView.ItemTemplate>
<HierarchicalDataTemplate ItemsSource="{Binding Path=Children}">
<TextBlock Text="{Binding Path=Header}">
<TextBlock.InputBindings>
<MouseBinding Command="{Binding TreeViewClickCommand}" MouseAction="LeftDoubleClick"/>
</TextBlock.InputBindings>
</TextBlock>
</HierarchicalDataTemplate>
</TreeView.ItemTemplate>
</TreeView>
这不起作用。如果我在不在树视图中的按钮上使用我的命令,则触发该命令。我该如何解决这个问题?
答案 0 :(得分:2)
如果此命令在TreeView外部工作,我假设您的TreeViewClickCommand位于Window / UserControl的DataContext中。
使用AncestorType引用TreeViews DataContext(如果你没有设置它,则与Windows DC相同):
Command="{Binding RelativeSource={RelativeSource AncestorType={x:Type TreeView}}, Path=DataContext.TreeViewClickCommand}"
答案 1 :(得分:-1)
您可以使用AttachedCommandBehavior执行此操作。