单击WPF TreeView项目

时间:2013-05-16 10:10:06

标签: wpf events click treeview

我是WPF中的事件的问题。假设我有一个底层数据模型和一个树视图来呈现数据。我想做的最简单的事情是,当我点击一个项目时,我会对与该项目相关的基础数据做一些事情。

我尝试使用MouseLeftButtonDown的{​​{1}}事件,但是发件人对象只是Textblock本身,我无法访问基础数据。

现在我也尝试使用Textblock这样的MouseLeftButtonDown事件:

TreeViewItem

但我没有得到处理程序。

那我该怎么做呢?有某种标准方法吗?

1 个答案:

答案 0 :(得分:5)

MouseLeftButtonDown事件是一个冒泡事件,它在我的猜测选择器的路径中被处理。 您可以使用snoop查看谁处理了该事件。 使用PreviewMouseLeftButtonDown / SelectedItemChanged或在您的情况下MouseDoubleClick将解决问题。

<TreeView>
  <TreeView.ItemContainerStyle>
    <Style TargetType="{x:Type TreeViewItem}">
        <EventSetter Event="MouseDoubleClick"
                Handler="itemDoubleClicked"/>
    </Style>
  </TreeView.ItemContainerStyle>
</TreeView>