2011-05-25 14 views
7

En mi aplicación, el usuario puede arrastrar y soltar archivos desde el explorador de Windows a un cuadro de lista en mi aplicación. Todo esto funciona excelente sin embargo cuando se arrastra varios archivos, dependiendo de qué archivo el usuario hace clic en Windows Explorer para comenzar a arrastrar, el orden de los archivos pasaron será diferente al llamar:¿Cómo mantengo el orden de archivos en el Explorador de Windows al arrastrar y soltar archivos en la aplicación wpf/C#?

e.Data.GetData(DataFormats.FileDrop) 

¿Cómo recibo los archivos en el mismo orden como se muestran en Windows Explorer?

Gracias por su ayuda!

Respuesta

5

El orden en que los recibe es el orden en el que fueron seleccionados. Encontré este problema una vez y, por lo que pude decir, no puedo obtenerlos en el orden de clasificación de Explorer.

Por lo tanto, su código debe asumir que el usuario lo seleccionó en ese orden por algún motivo.

+0

Gracias por su respuesta. Creo que el caso es todo lo contrario, ya que el usuario espera que los archivos estén en el orden en que aparecen al ser arrastrados desde el explorador de Windows. –

+1

Lo siento por estos usuarios, y es por eso que busqué la solución. Sin embargo, Windows tiene que suponer que el usuario los seleccionó en un orden determinado por algún motivo, por lo que también debería hacerlo. No es genial, pero es una de las áreas en las que Windows no intenta pensar por ti (que a menudo se critica a MS en otras áreas). – user7116

+0

Bastante justo. Gracias por tu ayuda. –

2

Si cambia, seleccione un grupo de archivos de 0000 a 0010 y luego arrástrelos a una aplicación (digamos archivos de video y arrástrelos a VLC). Explorer alimentará la lista no en el orden en que seleccionó los elementos, sino en el elemento que dejó-clic-y-arrastrado desde.

Haga clic en 0000 y aparecerán en orden numérico. Haga clic en 0003 y aparecerán de 0003 a 0010 y luego 0001 y 0002

Por lo tanto, la forma correcta de "arrastrar y soltar" es arrastrar siempre desde la parte superior.

Cuestiones relacionadas