Dän*_*änu 30 .net c# wpf explorer drag-and-drop
按照我的方案.
我有一个应用程序,它将文件结构(文件夹,文件)从数据库加载到WPF ListView.现在我想从这个ListView中获取一个文件,将它拖到我的桌面(或一些打开的资源管理器窗口)上并将其放在那里.基本的拖放,没有什么花哨的.这听起来像是Windows应用程序的"标准"功能 - 但谷歌无济于事.
那我该怎么做呢?互操作性展示?
谢谢
编辑:谢谢你的解决方案,我仍然需要做一些谷歌搜索.这是我的完整解决方案.
Ray*_*rns 28
DragDrop.DoDragDrop只要你把它传给一个合适的人就可以做到这一点DataObject.
首先将文件复制到某处.System.IO.Path.GetTempPath()如果你没有更好的地方,你可以使用.
接下来创建一个包含文件完整路径的字符串数组,并执行以下操作:
string[] paths = ...;
DragDrop.DoDragDrop(this, new DataObject(DataFormats.FileDrop, paths),
DragDropEffects.Copy);
Run Code Online (Sandbox Code Playgroud)
实际上可以在不预先复制文件但是进入一些复杂的IDataObject交互的情况下执行此操作,因此除非您的文件可能非常大并且尚未在文件系统中,否则我将首先尝试此方法.