В соответствии с моим сценарием.
Я получил Приложение, которое загружает Filestructure (Папки, Файлы) от Базы данных в WPF ListView. Теперь я хотел бы захватить файл от этого ListView, перетащить его по моему Рабочему столу (или некоторое открытое окно проводника) и отбросить его там. Основное Перетаскивание, ничто не полагает. Это походит на "стандартную" функцию для приложения Windows - но Google не поможет.
Таким образом, как я могу достигнуть этого? Interops?
Спасибо
Править: Спасибо за решение я все еще должен был сделать некоторый поиск с помощью Google. Вот мое полное решение.
DragDrop.DoDragDrop
может сделать это, если вы передадите ему соответствующий DataObject
.
Сначала скопируйте файлы куда-нибудь. Вы можете использовать System.IO.Path.GetTempPath()
, если у вас нет лучшего места.
Затем создайте строковый массив, содержащий полные пути к файлам, и выполните следующие действия:
string[] paths = ...;
DragDrop.DoDragDrop(this, new DataObject(DataFormats.FileDrop, paths),
DragDropEffects.Copy);
На самом деле это можно сделать и без предварительного копирования файлов, но при этом возникают сложные взаимодействия с IDataObject, поэтому, если ваши файлы потенциально не очень большие и еще не находятся в файловой системе, я бы сначала попробовал этот метод.