Como devo me comunicar entre ViewModels?

Eu estou usando o MVVM Light e usei o sistema de mensagens empacotadas para se comunicar entre os modelos de visualização, no entanto, eu encontrei um dilema! Basicamente, quando um usuário clica em um registro de cliente, a visão correspondente é aberta e, com ele,CustomerViewModel é instanciado. Neste ponto, oCustomerViewModel requer o ID de clientes selecionado do modelo de visualização anterior (ViewAllCustomersViewModel) para que ele possa obter informações de clientes selecionadas às quais a exibição se vincula (ainda seguindo?). Então, inicialmente, meu pensamento foi enviar essa ID em uma mensagem doViewAllCustomersViewModel (onde o cliente a ser visto é selecionado) para oCustomerViewModel... No entanto, oCustomerViewModel não é instanciado para poder receber a mensagem até que a visualização seja carregada (no momento em que a mensagem já foi transmitida)!

Então, qual seria a melhor maneira de resolver esse problema? Até agora eu considerei oCustomerViewModel enviando um pedido para oViewAllCustomersViewModel depois de ter sido instanciado (basicamente dizendo "Estou pronto para receber a mensagem"), e depoisViewAllCustomersViewModel enviando o ID de volta para oCustomerViewModel... mas esta é uma abordagem necessária para resolver isso? Parece um pouco feio para mim!

Caso contrário, eu estava pensando que há outra maneira de se comunicar que pode explicar o problema que estou tendo? Mas então este não é o ponto principal do sistema de mensagens ... para poder se comunicar entre modelos de visão? OU posso forçar o modelo de exibição a ser instanciado na inicialização? Se sim, como isso afetaria oViewModelLocator?

Espero ter delineado a questão claramente, usei nomes de modelos fictícios para fins de explicação ... e sinta-se à vontade para editar ou sugerir qualquer informação adicional que gostaria que eu adicionasse!

questionAnswers(5)

yourAnswerToTheQuestion