TreeView でドラッグ & ドロップをする処理が分からなかったので、調べて github にサンプルコードを上げました
もし実装する際によければ参考にしてください
ドラッグ & ドロップ に必要なメソッド
以下のメソッドが override されていれば ドラッグ & ドロップ することが可能になっています
詳しい処理は github を見てみてください
/// <summary> /// 要素を移動できるか /// </summary> protected override bool CanStartDrag(CanStartDragArgs args) => true; /// <summary> /// ドラッグ開始時の処理 /// </summary> protected override void SetupDragAndDrop(SetupDragAndDropArgs args) /// <summary> /// ドラッグ中とドラッグ終了時の処理 /// </summary> protected override DragAndDropVisualMode HandleDragAndDrop(DragAndDropArgs args)
こちらは必要では無いけど、TreeViewItem を 親とするなら override が必要です
/// <summary> /// 入れ替え時親となれるか /// </summary> protected override bool CanBeParent(TreeViewItem item) => true;