Найти тему
IT Works👍

[DevExpress] TreeListView Drag&Drop в DevExpress 17.1 WPF+MVVM

Поставили мне недавно задачку: реализовать перетаскивание элементов дерева в программе, которую наша компания разрабатывает. В документации написано, что для TreeListView есть для этого специальное свойство:

AllowDragDrop="True"

Но данное свойство появилось в 17.2, а на работе используется 17.1( Но горевать некогда, надо работать.

Добавляем в TreeListControl:

<dxmvvm:Interaction.Behaviors>

<dxg:TreeListDragDropManager AllowDrag="True" AllowDrop="True">

<dxmvvm:Interaction.Behaviors>

<dxmvvm:EventToCommand EventName="Drop" Command={Binding CommandNodeDrop}" PassEventArgsToCommand="True" />

</dxmvvm:Interaction.Behaviors>

</dxg:TreeListDragDropManager>

</dxmvvm:Interaction.Behaviors>

Так используется MVVM, с помощью dxmvvm:EventToCommand привязываем события к командам. И теперь в модели представления реализуем команду CommandNodeDrop. Например: