我正在编写WPF应用程序,在该应用程序的控件内具有拖放支持,并且还在我的桌面文件和应用程序之间拖放。我使用装饰器来更改鼠标光标。

控件之间的内部拖放操作没有问题。问题是桌面文件和我的应用之间的拖放。

我为我的窗口设置了一个DragEnter和DragLeave处理程序。当我将文件拖到我的应用程序中时,DragEnter被触发,但它不仅触发了一次,还可以在应用程序窗口中继续使用DragLeave触发。

我已经实现的是,我可以将文件拖动到我的应用程序中,并具有所需的修饰符;但是,如果我一直按住鼠标并将文件拖回桌面,装饰器就会卡在角落里。我无法使用DragLeave清除装饰物,因为当我在应用程序中拖动鼠标时,DragLeave事件会不停地触发。

我希望仅当鼠标指针拖动离开我的应用程序时才触发DragLeave。

任何解决方法?

最佳答案

这是您可以针对这种情况采取的一种可能的解决方法。
DragDrop - DragEnter/DragLeave Events keep firing

08-06 03:32