¿Cómo actualizar ObservableCollection desde un BackgroundWorker usando MVVM?

desde hace dos días estoy tratando de resolver el siguiente problema: tengo un control WPF donde un WrapPanel está vinculado a una ObservableCollection. Una acción cambia el contenido de la Colección Observable. El contenido se carga en un BackgroundWorker. Inmediatamente después de la acción que causó el cambio de contenido, se necesita el nuevo contenido en un bucle foreach. El problema es que la carga del contenido es lenta, por lo que necesita un poco para prepararse.

Mi primer intento fue esperar al trabajador de fondo hasta que la propiedad IsBusy se establezca en falso. ¡Pero la propiedad IsBusy nunca cambió mientras esperaba! El segundo intento fue tratar de manipular la Colección Observable directamente desde el BackgroundWorker. Por supuesto, no hay éxito porque ObservableCollection está en otro subproceso que BackgroundWorker.

Leí muchísimo sobre cómo manipular el contenido en todo el hilo. Pero ninguno de ellos funcionó. Soluciones probadas con Dispatcher, "ThreadSafeObservableCollection", .....

¿Alguien podría decirme cómo puedo resolver ese problema? ¿Hay una manera simple de editar el contenido del hilo de la interfaz de usuario dentro de otro hilo? ¿O cómo espero correctamente a que finalice el BackgroundWorker?

EDITAR: Pero, ¿cómo puedo esperar a que termine el BackgroundWorker?

Respuestas a la pregunta(4)

Su respuesta a la pregunta