猿问

拖放到桌面/资源管理器

按照我的情况。


我有一个应用程序,可以将数据库中的文件结构(文件夹,文件)加载到WPF ListView中。现在,我想从此ListView抓取一个文件,将其拖到我的桌面(或某个打开的浏览器窗口)上,然后放到那里。基本拖放,没什么花哨的。这听起来像Windows应用程序的“标准”功能-但Google帮不上忙。


那么我该如何实现呢?互操作性?


谢谢


哈士奇WWW
浏览 463回答 2
2回答

四季花海

DragDrop.DoDragDrop只要您通过适当的审核就可以做到DataObject。首先将文件复制到某个地方。System.IO.Path.GetTempPath()如果没有更好的地方,可以使用。接下来,创建一个包含文件完整路径的字符串数组,然后执行以下操作:string[] paths = ...;DragDrop.DoDragDrop(this, new DataObject(DataFormats.FileDrop, paths),                    DragDropEffects.Copy); 实际上,无需预复制文件就可以执行此操作,但这会引起一些复杂的IDataObject交互,因此,除非您的文件可能非常大且不在文件系统中,否则我将首先尝试此方法。

神不在的星期二

我知道这是一个非常古老的线程,但是您能否扩展一下“除非文件可能非常大”这一部分?我正试图做到这一点。具有DragDrop功能,可在将文件拖放到某处时下载文件。
随时随地看视频慕课网APP
我要回答