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