搜索并显示许多图像 wpf

Search and display many images wpf

我要显示很多图片。为此,所有的图片都充满了信息。每次我想显示特定类别的图像时,我会检查所有图像,每个图像都有相应的标签,我会将其分开并显示。花费大量时间,程序停止。

我该怎么办?

IEnumerable<string> AllofItems; 
IEnumerable<string> CurrentofItems;
private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            AllofItems = GetFileList(@"E:\DL\newArtWork\Art").ToArray();
        }

 private void Listbox_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {

            foreach (var item in AllofItems)
            {
                var file = ShellFile.FromFilePath(item);
                var auth = file.Properties.System.Author.Value;
                if (listbox.SelectedItem.ToString().Equals(auth))
                   currentList.Add(item);
            }
            CurrentofItems = currentList;

            CurrentofItems.ForEachWithIndex((item, idx) =>
            {
                cover.Items.Add(item);
            });
        }

注:每个类别大约有100到300张照片
注意:这里有9千个文件

E:\DL\newArtWork\Art

It takes a lot of time and the program stops.

由于操作的 IO 密集型性质,它们可能需要以异步方式拆分和处理,以免在加载图像可用时减慢 IO 处理线程。这意味着您需要将操作放在单独的线程上,以免阻碍用户使用该程序的体验。

请参阅 Asynchronous programming 以开始讨论该主题。