GongSoluation-Wpf-DragDrop的使用

命令空间

xmlns:dd="urn:gong-wpf-dragdrop"

控件属性设置

dd:DragDrop.CanDragWithMouseRightButton="False"
dd:DragDrop.DropTargetAdornerBrush="LightGray"
dd:DragDrop.IsDragSource="True"
dd:DragDrop.IsDropTarget="True"
dd:DragDrop.UseDefaultEffectDataTemplate="True"
dd:DragDrop.UseDefaultDragAdorner="True"
dd:DragDrop.DropHandler="{Binding DataContext, ElementName=MainWindowRoot, FallbackValue={x:Null}}"

隐藏代码实现接口,IDropTarget

#region ==================IDropTarget 拖拽接口===================================

public void DropHint(IDropHintInfo dropHintInfo)
{

}
public void DragEnter(IDropInfo dropInfo)
{

}
// 拖拽经过时的效果判断
public void DragOver(IDropInfo dropInfo)
{
    // 允许移动
    dropInfo.DropTargetAdorner = DropTargetAdorners.Highlight;
    dropInfo.Effects = DragDropEffects.Copy;
}
public void DragLeave(IDropInfo dropInfo)
{

}
// 拖拽放置时的核心逻辑
public void Drop(IDropInfo dropInfo)
{
    //var draggedItem = dropInfo.Data as DeviceCardViewModel;
    //var targetItem = dropInfo.TargetItem as DeviceCardViewModel;
    //var targetCollection = dropInfo.TargetCollection;
    return;
}
#endregion
posted @ 2026-07-02 15:07  nap117  阅读(12)  评论(0)    收藏  举报