Страницы

Поиск по вопросам

пятница, 26 октября 2018 г.

Как сделать перемещение нод TreeView?

Ветки нужно перемещать ноды на уровень выше в материнские и ниже в дочерние.
Моё дерево:
>

На другом примере работает нормально но в моём нет.
1 -2 --3 4 -5 --6
У меня любую ноду можно переместить в корень или в ту же ноду, в которой и находится. Например 3 можно переместить в корень либо в 2, где он уже есть.
В другие почему-то не перемещается.
public class Node { public string name_ { get; set; }
public ObservableCollection collection_node { get; set; }
public Node() {
collection_node = new ObservableCollection(); } }


Ответ

Рекомендую использовать GongSolutions.WPF.DragDrop, которую можно легко установить добавив соответствующий NuGet-пакет.
Дальше к своему TreeViewпросто добавляете два свойства:

где dd
xmlns:dd="clr-namespace:GongSolutions.Wpf.DragDrop;assembly=GongSolutions.Wpf.DragDrop"
Теперь вы можете легко перетаскивать элементы:

Комментариев нет:

Отправить комментарий