将文件拖放到wpf/C#应用程序时,如何在Windows资源管理器中维护文件顺序

本文关键字:文件 Windows 资源管理器 顺序 维护 wpf 拖放 应用程序 | 更新日期: 2023-09-27 17:57:44

在我的应用程序中,用户可以将文件从windows资源管理器拖放到应用程序中的列表框中。然而,当拖动多个文件时,这一切都非常有效,取决于用户在windows资源管理器中单击哪个文件开始拖动,调用时传递的文件顺序会有所不同:

e.Data.GetData(DataFormats.FileDrop)

如何按照在windows资源管理器中显示的相同顺序接收文件?

谢谢你的帮助!

将文件拖放到wpf/C#应用程序时,如何在Windows资源管理器中维护文件顺序

如果您切换,选择一堆从0000到0010的文件,然后将它们拖动到应用程序中(比如视频文件,然后拖动到VLC中)。资源管理器将不按您选择项目的顺序提供列表,而是按您左键单击的项目提供列表。

点击0000,它们将按数字顺序显示。点击0003,它们将显示从0003到0010,然后是0001和0002

因此,"拖放"的正确方法是始终从顶部拖动。

接收它们的顺序就是选择它们的顺序。我以前遇到过一次这个问题,据我所知,你无法按照Explorer的排序顺序获得它们。

因此,您的代码应该假设用户选择它们的顺序是有原因的。