DragFrop从WinForms到WPF问题

时间:2017-03-15 17:28:00

标签: c# .net wpf winforms

我有使用DragDrop功能的旧WinForms应用程序(没有任何源代码)。现在我需要创建一个新的WPF应用程序,它可以使用DragDrop从旧的WPF应用程序接收一些数据。但DragDrop无法在WPF应用中运行,任何事件:DragEnterDragOverDragLeaveDrop都不会触发。我只使用DragDrop功能创建了其他简单的WinForms应用程序,它运行正常。此外,我可以将DragDrop从这个简单的WinForms应用程序转换为WPF应用程序。

我试图以“管理员”的身份运行我的应用程序而没有这个 - 没有任何改变 有谁知道,如何解决这个问题或者根本原因是什么,或者可能是造成这种奇怪行为的根本原因?

2 个答案:

答案 0 :(得分:0)

  • 您是否在wpf xaml中设置了{AllowDrop="true"
  • 如果是,您是否处理捕获表单或控件的Drop事件?

在stackoverflow.com上查看此问题以获取更多详细信息: WPF Drag and Drop

答案 1 :(得分:0)

好的,我能够解决这个问题。原因 - 旧的应用程序使用RegisterDragDrop for OleDataFormat,但新的WPF - 使用RegisterDragDrop for DataFormat。解决方案 - 将AllowDrop设置为false,并使用Ole32.dll中的RegisterDragDrop为OleDataFormat和自定义IDropTarget接口或WinForms库。