如何将文件从我的应用程序拖到桌面?

时间:2011-06-09 21:30:40

标签: c# wpf drag-and-drop

  

可能重复:
  C# / WPF / .NET - Drag and drop to Desktop / Explorer

我设法将文件从桌面拖到我的WPF应用程序中。现在我想把它们拖回来。

此代码不起作用。一切看起来都正确(光标变成+)但文件未被复制。

listBoxItem.PreviewMouseLeftButtonDown += (o, e) =>
{
    Console.WriteLine("drag leave");

    // changing this line to: var data = "a string"; works for text dragging
    var data = new DataObject(DataFormats.FileDrop, filePath);

    // also tried DragDropEffects.Copy with no success
    DragDrop.DoDragDrop(item, data, DragDropEffects.All);
};

有什么想法吗?

这里的问题很相似,但我不明白他们的回答:c# drag drop DataObject

谢谢,

尼尔

1 个答案:

答案 0 :(得分:2)

尝试

if (File.Exists(filePath))
{
    string[] array = { filePath };
    var data = new DataObject(DataFormats.FileDrop, array);
    listBox1.DoDragDrop(data, DragDropEffects.Copy);
}