我在 WPF 应用程序中有一个简单的TreeView
类,其中包含几个TreeViewItem
(我自己设计的)。我希望选择被点击的项目,这本质上非常简单。但是,每当用户单击不是根元素的元素时,MouseRightButtonUp
都会为其所有父节点调用该事件,从而也选择所有父节点。这是我的代码:
public class MyTreeViewItem : TreeViewItem
{
public MyTreeViewItem()
{
this.MouseRightButtonDown += MyTreeViewItem_MouseRightButtonDown ;
}
void MyTreeViewItem_MouseRightButtonDown(object sender, MouseButtonEventArgs e)
{
if (sender as MyTreeViewItem != null)
(sender as MyTreeViewItem).IsSelected = true;
}
}
在调试器中,我发现确实MyTreeViewItem_MouseRightButtonDown
为每个父级单独调用了该方法。我该如何避免这种情况?