使用 Gong.DragDrop 像 UserControl 一样拖放到 Non-ItemsControl
Use Gong.DragDrop to drop to Non-ItemsControl like UserControl
我正在尝试使用 Gong.DragDrop 库从列表框拖动到任意用户控件。但是拖过那些总是显示不允许的符号。我可以在 github 存储库中看到代码,其中创建了单独的路径。我只是不明白为什么这不起作用。拖动到 ItemsControl-Derived 控件没有问题。任何帮助将不胜感激!谢谢大家!
好的,答案是您可以做到。您只需要实现自定义 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...
}
}
我正在尝试使用 Gong.DragDrop 库从列表框拖动到任意用户控件。但是拖过那些总是显示不允许的符号。我可以在 github 存储库中看到代码,其中创建了单独的路径。我只是不明白为什么这不起作用。拖动到 ItemsControl-Derived 控件没有问题。任何帮助将不胜感激!谢谢大家!
好的,答案是您可以做到。您只需要实现自定义 DropHandler 并将其分配给 DropTarget。我使用 StaticResource 创建处理程序并将其分配给具有
的 UserControldd: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...
}
}