Как перетащить файлы из приложения на рабочий стол?

Возможный дубликат:
C # / WPF / .NET - перетащите на рабочий стол / проводник

Мне удалось перетащить файлы с рабочего стола в мое приложение 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

Спасибо,

Нил


person Neal Ehardt    schedule 09.06.2011    source источник


Ответы (1)


Пытаться

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