MVVM - Comunicación entre vistas separadas

Estoy tratando de descubrir cómo hacer lo siguiente:

Tengo unCustomerListViewModel que contiene unaObservableCollection<Customer>

MainView tiene una instancia de estas vistas:

CustomerListView - que crea una instancia deCustomerListViewModelSearchView - que crea e instancia deSearchViewModel

Mi pregunta es: ¿Cómo mantengo separados CustomerListView y SearchView? SearchView solo debe mostrarse si se selecciona un Cliente. La única dependencia para SearchViewModel debería ser unaCustomer Modelo. Si no hay un Cliente seleccionado de CustomerListViewModel, entonces SearchView no debería mostrarse.

Debo presentar una nueva Vista / ViewModel que contenga tanto unaCustomerListViewModel ySearchViewModel que puede contener una referencia a la @ seleccionaCustomer y alternar la visualización de un SearchView? Si no, ¿cómo debo hacer esto?

Sé que esta pregunta es bastante amplia, pero agradecería cualquier sugerencia.

Respuestas a la pregunta(4)

Su respuesta a la pregunta