Estoy tratando de encontrar la manera de hacer lo siguiente:MVVM - La comunicación entre Separados Vistas
Tengo un CustomerListViewModel
que contiene una ObservableCollection<Customer>
MainView
contiene una instancia de estos puntos de vista:
CustomerListView
- que crea una instancia deCustomerListViewModel
SearchView
- que crea una instancia deSearchViewModel
Mi pregunta es, ¿cómo puedo mantener el CustomerListView y el SearchView separados? SearchView solo se debe mostrar si se selecciona un cliente. La única dependencia para SearchViewModel debe ser un modelo Customer
. Si no hay un Cliente seleccionado del CustomerListViewModel, entonces SearchView no se debe mostrar.
¿Debo introducir una nueva vista/modelo de vista que contiene un CustomerListViewModel
y SearchViewModel
que puede contener una referencia a la Customer
seleccionada y alternar la visualización de un SearchView? Si no, ¿cómo debería hacerlo?
Sé que esta pregunta es bastante amplia, pero agradecería cualquier sugerencia.
Eso es lo que haría. Un ViewModel que combina dos o más ViewModels. El ViewModel compuesto puede suscribirse a eventos y alternar la visibilidad. – tomasmcguinness