Cómo admitir el enlace de ListBox SelectedItems con MVVM en una aplicación navegable

Estoy creando una aplicación WPF que se puede navegar a través de los botones y comandos personalizados "Siguiente" y "Atrás" (es decir, no uso unNavigationWindow). En una pantalla, tengo unListBox que tiene que soportar selecciones múltiples (usando elExtended modo). Tengo un modelo de vista para esta pantalla y almaceno los elementos seleccionados como una propiedad, ya que deben mantenerse.

Sin embargo, soy consciente de que laSelectedItems propiedad de unListBox es de solo lectura. He estado tratando de solucionar el problema usandoesta solución aquí, pero no he podido adoptarlo en mi implementación. Descubrí que no puedo diferenciar cuando uno o más elementos están deseleccionados y cuando navego entre pantallas (NotifyCollectionChangedAction.Remove se muestra en ambos casos, ya que técnicamente todos los elementos seleccionados se deseleccionan cuando se navega fuera de la pantalla). Mis comandos de navegación se encuentran en un modelo de vista separado que administra los modelos de vista para cada pantalla, por lo que no puedo poner ninguna implementación relacionada con el modelo de vista con elListBox ahí.

He encontrado otras soluciones menos elegantes, pero ninguna de ellas parece imponer un enlace bidireccional entre el modelo de vista y la vista.

Cualquier ayuda sería muy apreciada. Puedo proporcionar parte de mi código fuente si me ayudara a entender mi problema.

Respuestas a la pregunta(9)

Su respuesta a la pregunta