Glisser-déposer sur le bureau / Explorer

Suite à mon scénario.

J’ai une application qui charge une structure de fichiers (dossiers, fichiers) à partir d’une firebase database dans une liste WPF. Maintenant, j’aimerais saisir un fichier de cette liste, le faire glisser sur mon bureau (ou une fenêtre ouverte de l’explorateur) et le déposer ici. Glisser-déposer de base, rien d’extraordinaire. Cela ressemble à une fonction “standard” pour une application Windows – mais Google ne vous aidera pas.

Alors, comment puis-je y parvenir? Interops?

Merci

Edit : Merci pour la solution, je devais encore faire quelques recherches sur Google. Voici ma solution complète .

DragDrop.DoDragDrop peut le faire tant que vous lui transmettez un object de données approprié.

Commencez par copier les fichiers quelque part. Vous pouvez utiliser System.IO.Path.GetTempPath() si vous ne possédez rien de mieux.

Créez ensuite un tableau de chaînes contenant les chemins d’access complets aux fichiers et procédez comme suit:

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

Il est en fait possible de le faire sans pré-copier les fichiers, mais cela entraîne des interactions IDataObject complexes. Par conséquent, à moins que vos fichiers ne soient potentiellement très volumineux et ne figurent pas déjà dans le système de fichiers, je commencerai par essayer cette méthode.