, так как два дня я пытаюсь решить следующую проблему:
У меня есть элемент управления WPF, где WrapPanel связан с ObservableCollection. Действие изменяет содержимое коллекции ObservableCollection. Содержимое загружается в BackgroundWorker. Сразу после действия, вызвавшего изменение содержимого, новый контент необходим в цикле foreach. Проблема в том, что загрузка контента идет медленно, поэтому для его подготовки нужно немного.
Моей первой попыткой было подождать фонового работника, пока для свойства IsBusy не будет установлено значение false. Но свойство IsBusy никогда не менялось во время ожидания!
Вторая попытка состояла в том, чтобы попытаться манипулировать ObservableCollection непосредственно из BackgroundWorker. Конечно, безуспешно, потому что ObservableCollection находится в другом потоке, чем BackgroundWorker.
Я действительно очень много читал о том, как манипулировать контентом в многопоточном режиме. Но никто из них не работал. Пробные решения с помощью Dispatcher, "ThreadSafeObservableCollection", .....
Может кто-нибудь сказать мне, как я могу решить эту проблему?
Есть ли простой способ редактировать содержимое потока пользовательского интерфейса в другом потоке?
Или как правильно дождаться завершения работы BackgroundWorker?
EDIT:
Но как я могу дождаться завершения работы BackgroundWorker ???