MVVM - Comunicação entre vistas separadas

Estou tentando descobrir como fazer o seguinte:

Eu tenho umCustomerListViewModel que contém umObservableCollection<Customer>

MainView contém uma instância dessas visualizações:

CustomerListView - que cria uma instância deCustomerListViewModelSearchView - que cria e instância deSearchViewModel

Minha pergunta é: como faço para manter o CustomerListView e o SearchView separados. O SearchView deve ser exibido apenas se um Cliente estiver selecionado. A única dependência para o SearchViewModel deve ser umCustomer Modelo. Se não houver um Cliente selecionado no CustomerListViewModel, o SearchView não deverá ser exibid

Devo introduzir um novo View / ViewModel que contenha umCustomerListViewModel eSearchViewModel que pode conter uma referência ao @ selecionaCustomer e alterna a exibição de um SearchView? Se não, como devo fazer isso?

Sei que esta pergunta é bastante ampla, mas gostaria de receber sugestõe

questionAnswers(4)

yourAnswerToTheQuestion