使用Gong.DragDrop拖放到Non-ItemsControl,例如UserControl

时间:2018-07-31 08:56:08

标签: wpf drag-and-drop itemscontrol

我正在尝试使用Gong.DragDrop Lib从ListBox拖动到任意UserControls。但是,将其拖拽始终显示不允许使用的符号。我可以在github存储库中看到代码,在其中创建了单独的路径。我只是不明白为什么这行不通。拖动到ItemsControl派生的控件可以正常工作。任何帮助将不胜感激!谢谢大家!

1 个答案:

答案 0 :(得分:1)

好的,答案是您可以做到。您只需要实现一个自定义的DropHandler并将其分配给DropTarget。我使用StaticResource创建处理程序,并使用

将其分配给UserControl。
dd:Gong.DragDrop.DropHandler="{StaticResource customDropHandler}"

CustomDropHandler看起来像这样:

using System.Windows;
using GongSolutions.Wpf.DragDrop;
public class CustomDropHandler : IDropTarget
{
    public void DragOver(IDropInfo dropInfo)
    {
        dropInfo.Effects = DragDropEffects.Move;
        dropInfo.DropTargetAdorner = DropTargetAdorners.Insert;
    }

    public void Drop(IDropInfo dropInfo)
    {
        // Not done yet...
    }
}