Trascina e rilascia su Desktop / Explorer

Seguendo il mio scenario.

Ho ottenuto un’applicazione che carica una Filestructure (cartelle, file) da un database in un ListView WPF. Ora mi piacerebbe prendere un file da questo ListView, trascinarlo sul mio desktop (o qualche finestra di Esplora risorse) e rilasciarlo lì. Drag & Drop di base, niente di speciale. Sembra una funzione “standard” per un’applicazione Windows, ma google non aiuta.

Quindi, come posso ottenere questo? Interops?

Grazie

Modifica : Grazie per la soluzione, dovevo ancora fare qualche ricerca su google. Ecco la mia soluzione completa .

DragDrop.DoDragDrop può farlo finché si passa a un DataObject appropriato.

Prima copia i file da qualche parte. È ansible utilizzare System.IO.Path.GetTempPath() se non si dispone di una soluzione migliore.

Quindi creare una matrice di stringhe contenente i percorsi completi dei file e procedere come segue:

 string[] paths = ...; DragDrop.DoDragDrop(this, new DataObject(DataFormats.FileDrop, paths), DragDropEffects.Copy); 

In realtà è ansible farlo senza pre-copiare i file, ma questo entra in alcune complicate interazioni IDataObject, quindi a meno che i tuoi file siano potenzialmente molto grandi e non siano già nel filesystem, proverei prima questo metodo.