TreeViewコントロールがあり、新しいノードを追加した後、カスタムコードを実行する必要があります(たとえば、ノードを展開して表示し、編集メソッドを起動します)。これをTreeViewコントロールのすべてのインスタンスで使用できるようにしたいので、TreeViewコントロールをサブクラス化することを考えました。
これで、treeviewが新しいノードがいつ追加されたかを知るために、アイテムが追加されたときに発生するイベント(追加されない)、または新しいノードを追加するために実行されたコマンドへの参照があります。アイテム。
したがって、2つの質問:
1)ツリーノードが追加されるたびに発生するイベントをTreeViewに追加する方法はありますか(私は常にViewModelからのソースコレクションを介してノードを追加しています)-これを行う方法が見つかりませんでした
2)ViewModelのAddCommandにバインドされるAddCommandプロパティをTreeListに追加し、ビューモデルの代わりにTreeList.AddCommandにバインドするボタンまたはContextMenuアイテムを追加することができます。このように、TreeViewはAddCommandへの参照を保持しますが、実際の使用法が少し奇妙になるという欠点があります。質問:TreeViewのAddCommand(またはそれに関しては任意のコマンド)がいつ実行されたかを知るにはどうすればよいので、その後にカスタムコードを実行できますか?CommandManager.AddExecutedHandlerは解決策のようですが、実行できません。