Como suportar a ligação ListBox SelectedItems com MVVM em um aplicativo navegável

Eu estou fazendo um aplicativo WPF que é navegável através de botões e comandos personalizados "Próximo" e "Voltar" (ou seja, não usando umNavigationWindow). Em uma tela, eu tenho umListBox que tem que suportar múltiplas seleções (usando oExtended modo). Eu tenho um modelo de visão para esta tela e armazeno os itens selecionados como uma propriedade, uma vez que eles precisam ser mantidos.

No entanto, estou ciente de que oSelectedItems propriedade de umListBox é somente leitura. Eu tenho tentado contornar o problema usandoesta solução aqui, mas não consegui adotá-lo na minha implementação. Descobri que não consigo diferenciar quando um ou mais elementos são desmarcados e quando navego entre as telas (NotifyCollectionChangedAction.Remove é gerado em ambos os casos, já que tecnicamente todos os itens selecionados são desmarcados ao navegar para fora da tela). Meus comandos de navegação estão localizados em um modelo de visualização separado que gerencia os modelos de visualização para cada tela, por isso não posso colocar nenhuma implementação relacionada ao modelo de visualização com oListBox lá.

Eu encontrei várias outras soluções menos elegantes, mas nenhuma delas parece impor uma ligação bidirecional entre o modelo de exibição e a exibição.

Qualquer ajuda seria muito apreciada. Eu posso fornecer alguns dos meus códigos-fonte se isso ajudasse a entender o meu problema.

questionAnswers(9)

yourAnswerToTheQuestion