繁体   English   中英

WPF拖放DragDropEffects更改离开WPF窗口时的效果

[英]WPF Drag and Drop DragDropEffects changing when moving off of WPF Window

我有一个WPF应用程序,在其中拖动文件对象。 可以将其放置在应用程序内部的多个窗口中,也可以将其放置在资源管理器中的外部窗口中,也可以放置在桌面和其他一些位置。

拖放操作可以正常工作,但是DragDropEffect仅在应用程序窗口内部正确显示。 当光标移到“应用程序”窗口之外时,大多数时候会显示“ verboten”图标。 根据大多数情况下光标离开应用程序的方式,我会得到一个明显的圆圈。 但是有时它会正确继续拖动并带有复制图标。

var files = new[] {editor.MarkdownDocument.Filename} ;
var dragData = new DataObject(DataFormats.FileDrop,files);

DragDrop.DoDragDrop(tab, dragData, DragDropEffects.Copy);

如前所述,shell的代码和处理方式正常工作-文件被复制,仅是拖动图标才是问题。

我可以控制应用程序内部的拖动图标,在窗口上没有问题,但是我无法控制其外部发生的事情。

那么如何在WPF外部可靠地控制拖动图标?

https://docs.microsoft.com/zh-cn/dotnet/api/system.windows.dragdrop.givefeedback

DragDrop.GiveFeedback += SetTheCursorHere;

您应该(根据Microsoft的文档)缓存游标等,因为在拖动时会一遍又一遍地调用它,并且您不希望在发生拖动时加载LoadResource。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM