Como atualizar o ObservableCollection de dentro de um BackgroundWorker usando o MVVM?

há dois dias que estou tentando resolver o seguinte problema: Eu tenho um controle WPF onde um WrapPanel está vinculado a um ObservableCollection. Uma ação altera o conteúdo do ObservableCollection. O conteúdo é carregado em um BackgroundWorker. Imediatamente após a ação que causou a alteração do conteúdo, o novo conteúdo é necessário em um loop foreach. O problema é que o carregamento do conteúdo é lento, por isso precisa de um pouco para se preparar.

Minha primeira tentativa foi aguardar o trabalhador em segundo plano até que a propriedade IsBusy seja definida como false. Mas a propriedade IsBusy nunca mudou enquanto aguardava! A segunda tentativa foi tentar manipular o ObservableCollection diretamente do BackgroundWorker. Obviamente, não obteve êxito porque o ObservableCollection está em outro segmento que não o BackgroundWorker.

Eu realmente leio muito sobre como manipular conteúdo em toda a linha. Mas nenhum deles funcionou. Tentei soluções com o Dispatcher, "ThreadSafeObservableCollection", .....

Alguém pode me dizer como posso resolver esse problema? Existe uma maneira simples de editar o conteúdo do thread da interface do usuário em outro thread? Ou como espero corretamente que o BackgroundWorker seja concluído?

EDITAR: Mas como posso esperar o BackgroundWorker terminar ???

questionAnswers(4)

yourAnswerToTheQuestion