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
各親に対して個別にメソッドが呼び出されることがわかりました。どうすればこれを回避できますか?