按照我的情况。
我有一个应用程序,可以将数据库中的文件结构(文件夹,文件)加载到WPF ListView中。现在,我想从此ListView抓取一个文件,将其拖到我的桌面(或某个打开的浏览器窗口)上,然后放到那里。基本拖放,没什么花哨的。这听起来像Windows应用程序的“标准”功能- 但Google帮不上忙。
那么我该如何实现呢?互操作?
谢谢
编辑 :感谢您的解决方案,我仍然不得不做一些谷歌搜索。这是我完整的解决方案。
DragDrop.DoDragDrop只要您通过适当的审核就可以做到DataObject。
DragDrop.DoDragDrop
DataObject
首先将文件复制到某个地方。System.IO.Path.GetTempPath()如果没有更好的地方,可以使用。
System.IO.Path.GetTempPath()
接下来,创建一个包含文件完整路径的字符串数组,然后执行以下操作:
string[] paths = ...; DragDrop.DoDragDrop(this, new DataObject(DataFormats.FileDrop, paths), DragDropEffects.Copy);
实际上,无需预复制文件就可以执行此操作,但这会引起一些复杂的IDataObject交互,因此,除非您的文件可能非常大且不在文件系统中,否则我将首先尝试此方法。