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

395
02 января 2017, 21:05

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

Моё дерево:

<TreeView x:Name="tw_tree"   
    dd:DragDrop.IsDragSource="True"
    dd:DragDrop.IsDropTarget="True"
>
<TreeView.ItemTemplate>
    <HierarchicalDataTemplate   ItemsSource="{Binding collection_node, 
    ConverterParameter=name_, Converter={StaticResource MySortConverter}}">

На другом примере работает нормально но в моём нет.

1
-2
--3
4
-5
--6

У меня любую ноду можно переместить в корень или в ту же ноду, в которой и находится. Например 3 можно переместить в корень либо в 2, где он уже есть.

В другие почему-то не перемещается.

public class Node
        {
            public string name_ { get; set; }

            public ObservableCollection<Node> collection_node { get; set; }
            public Node()
            {
                collection_node = new ObservableCollection<Node>();
            }
        }
Answer 1

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

Дальше к своему TreeViewпросто добавляете два свойства:

<TreeView 
          dd:DragDrop.IsDragSource="True"
          dd:DragDrop.IsDropTarget="True" ... >

где dd:

xmlns:dd="clr-namespace:GongSolutions.Wpf.DragDrop;assembly=GongSolutions.Wpf.DragDrop"

Теперь вы можете легко перетаскивать элементы:

READ ALSO
Аргументы объекта

Аргументы объекта

Каким образом я могу вывести на экран аргументы моих объектов в методе cout?

460
Синхронизация 2-х потоков

Синхронизация 2-х потоков

Есть 2 потока , которые рисуют 2 машинки на консоли и имитируют их движениеМашинка -Враг- спускается сверху , а игрок должен ее обойти

377
yii2 правила для поддоменов

yii2 правила для поддоменов

ЗдравствуйтеФреймворк YII2

1034
Почему не работает theme_preprocess_menu_link?

Почему не работает theme_preprocess_menu_link?

Требуется сделать так, чтобы в теме Drupal 7 подсвечивался активный пункт меню, для этого нужно задать класс active тегу <li> вместо <a>По определёным...

434