En WPF tenemos dos hilos (al menos): representación y un hilo de interfaz de usuario. Cuando planteo un evento OnNotifyPropertyChanged en algunos cambios de propiedad, se genera en el hilo de UI. Esta información debe enviarse a la secuencia de representación de WPF para volver a representarla. Supongo que se realiza de forma sincronizada (Dispatcher.Invoke) pero, ¿cómo funciona realmente?INotifyPropertyChanged: ¿qué ocurre detrás de la escena?
Si levanto múltiples eventos OnNotifyPropertyChanged de la misma estructura de datos sin bloquear el acceso a la propiedad de acceso para esta estructura de datos para la que se han planteado estos eventos, estoy creando una condición de carrera potencial? He visto la infame excepción "La colección se modificó; la operación de enumeración no se puede ejecutar" procedente de WPF, por lo que parece que WPF procesa estos eventos de forma asincrónica. ¿Estoy entendiendo mal la excepción? ¡Gracias!
¿Por qué no publicas una muestra para recrear esto? Como mostrar un par de colecciones que cambias frecuentemente de algún evento DispatcherTimer. –