Как изменить свойство модели представления MVVM Progress
для работы, выполняемой в фоновом потоке?
Я создаю приложение MVVM, которое выполняет задачу в фоновом потоке, используя Task.Factory.StartNew()
иParallel.ForEach()
.Я использую эту статью в качестве руководства.Пока что мой код выглядит так:
Task.Factory.StartNew(() => DoWork(fileList, viewModel));
Где fileList
- это список файлов, которые нужно обработать, а viewModel
- это модель представления со свойством Progress
.Пока что метод DoWork()
выглядит следующим образом:
private object DoWork(string[] fileList, ProgressDialogViewModel viewModel)
{
Parallel.ForEach(fileList, imagePath => ProcessImage(imagePath));
}
Метод ProcessImage()
выполняет фактическую обработку изображения.Свойство Progress
модели представления связано с индикатором выполнения в диалоговом окне, которое отображается непосредственно перед началом фонового процесса.
Я хочу обновлять свойство Progress
модели представления после каждой итерацииParallel.ForEach()
заявление.Все, что мне нужно сделать, это увеличить значение свойства.Как я могу это сделать?Спасибо за вашу помощь.