我正在尝试编写一个事件处理程序,每当TreeView中的节点获得焦点时触发该事件处理程序。我遇到的问题是事件处理程序在我用鼠标点击的TreeViewItem(节点)上触发,然后它继续冒泡控制树,即使我已设置e.Handled = true on RoutedEventArgs提供给处理程序。有谁知道问题可能是什么?我已经仔细检查了我的代码,我看不出为什么会发生这种情况。
答案 0 :(得分:3)
当你真的想要TreeViewItem.Selected时,你在使用TreeView.GotFocus吗?
<TreeView TreeViewItem.Selected="treeView1_Selected" />
如果您真的想要焦点,请使用TreeViewItem.Focus,以便定位项而不是整个树。
<TreeView TreeViewItem.GotFocus="treeView1_GotFocus"/>