Я использую Directory.GetFiles
, чтобы передать мне mp3-файлы, и я хотел бы чтобы заполнить ListBox
результатами, но вместо того, чтобы останавливать программу во время выполнения метода, могу ли я заставить ее выполнять поиск и заполнять ListBox
по мере получения файлов mp3 ?
поэтому я использую следующее (и он не может добавить их по одному, он добавляет их все сразу, когда это будет сделано)
private List<string> Getmp3sFromFolders(string folder)
{
List<string> fileArray = new List<string>();
try
{
DirectoryInfo dir = new DirectoryInfo(folder);
var files = dir.EnumerateFiles("*.mp3");
foreach (var file in files)
{
fileArray.Add(file.FullName);
Dispatcher.BeginInvoke(_AddMP3ToListbox, file.Name);
}
var directories = dir.EnumerateDirectories();
foreach (var subdir in directories)
{
fileArray.AddRange(Getmp3sFromFolders(subdir.FullName));
}
// lblFolderSearching.Content = folder.ToString();
}
catch
{
}
return fileArray;
}
Я добавил _AddMP3ToListbox = AddMP3ToListbox
он действительно добавляет mp3 в список, но делает это сразу, а не сразу, как находит. как я могу это исправить?