2011-06-09 38 views
2

可能重复:
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

感谢,

尼尔

回答

2

尝试

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