1、xaml:
在<dxg:TreeListView>标签中设置属性

AllowDragDrop="True"

并添加
<dxmvvm:Interaction.Behaviors>
                        <dxmvvm:EventToCommand EventName="DropRecord" Command="{Binding MoveItemCommand}"                                                PassEventArgsToCommand="True"/>  
 </dxmvvm:Interaction.Behaviors>

来绑定TreeListView的鼠标拖动事件MoveItemCommand

2、ViewModel.CS

MoveItemCommand事件实现

public ICommand<DropRecordEventArgs> MoveItemCommand => new DelegateCommand<DropRecordEventArgs>(e =>
        {

//DataDicCatalogModel为TreeListControl所绑定的对象类

//moveCatalogData获取值为Tree节点移动后所相关的节点信息

 DataDicCatalogModel moveCatalogData = e.TargetRecord as DataDicCatalogModel;

            //移动种类Before Inside After
            string moveTpte = e.DropPosition.ToString();

            //移动的节点信息
            Object data = e.Data.GetData(typeof(RecordDragDropData));
            foreach (DataDicCatalogModel m in ((RecordDragDropData)data).Records)
            {
                   //数据库操作
            }

});

 

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐