1

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

4

1 に答える 1