//ThreadBindingList<ImageModel> images = new ThreadBindingList<ImageModel>(); public ThreadBindingList <ImageModel> LoadImagesAsync(string folderPath, ThreadBindingList <ImageModel> images) { using (BackgroundWorker bg = new BackgroundWorker()) { bg.DoWork += (sender, args) => FetchImages(folderPath, images); bg.RunWorkerAsync(); } return(images); }
private void FetchImages(string folderPath, ThreadBindingList <ImageModel> images) { if (!Directory.Exists(folderPath)) { return; } foreach (string file in GetImagesFromFolder(folderPath)) { ImageModel image = new ImageModel(); image.ImagePath = file; string[] stringSeparators = { "\\" }; image.Name = file.Split(stringSeparators, StringSplitOptions.RemoveEmptyEntries).LastOrDefault(); image.FileName = file; images.Add(image); } }
private void LoadImagesAsync(string folderPath, ThreadBindingList <ImageModel> images) { ImageService imageService = new ImageService(); imageService.LoadImagesAsync(folderPath, images); }