捕获单击TreeView项目

时间:2011-06-25 01:37:09

标签: silverlight events treeview selecteditem

有没有办法明确捕获TreeView项目上的点击?

目前,我处在一个电视代表用户选择菜单的位置。通常情况下,我只会在电视上使用 SelectedItemChanged 事件,但用户可能会连续两次重新点击一个项目,这不会引发此事件。我考虑了在包含每个节点中的项目的stackpanel上放置事件侦听器的想法,但问题是在节点上更改选定项目之前触发此事件。因此,如果您点击了stackpanel,您将获得该事件,但无法获得相关项目。关于如何摆脱这一点的任何想法?

1 个答案:

答案 0 :(得分:3)

您可以处理MouseLeftButtonUp的{​​{1}}事件。

TreeView

<强> [编辑]

您可以处理private void treeView1_MouseLeftButtonUp(object sender, MouseButtonEventArgs e) { var selectedItem = treeView1.SelectedItem; } ,但此时MouseLeftButtonDown不会被更改。您可以做的是访问SelectedItem以找出点击的元素。我使用e.OriginalSource树检查了下面的示例,因此元素为<TreeViewItem />。如果您尝试以下代码,请根据您的方案更改类型转换。

TextBlock