如何将远程项目从WPF拖到桌面上?

时间:2012-02-23 08:59:01

标签: c# .net wpf drag-and-drop

在FileZilla中,我可以选择远程站点上的文件并将其拖到桌面上。 之后我将文件放在桌面上,FileZilla开始流式传输文件。

我想使用WPF实现类似的功能 - 这是可能的吗?它是如何完成的?

下面是一个片段,展示了如何使用文件路径将本地文件拖到桌面。我的情况不同,因为调用DragDrop.DoDragDrop时文件在物理上不可用。

//FileDetails holds information about where the file is downloaded from.
FileDetails fileDetails = (FileDetails)listView.ItemContainerGenerator.
    ItemFromContainer(listViewItem);

DataObject dragData = new DataObject(DataFormats.FileDrop, fileDetails);
DragDrop.DoDragDrop(listViewItem, dragData, DragDropEffects.Copy);
//At this point control goes to the OS.

理想情况下,我想检测“drop”事件,并提供有关丢弃位置的信息。另一种选择可能是将StreamWriter传递给DoDragDrop(),并在收到它们时将字节写入其中。

1 个答案:

答案 0 :(得分:2)