Estoy tratando de aprender el patrón MVVM. El principal problema que tengo es aprender dónde debo declarar, crear y vincular objetos de comando.Encuadernación de comandos MVVM
2 ejemplos:
que tienen un formulario principal que actúa como un tablero de interruptor o al menú principal. Se muestra el botón selct 1 y la vista 1, se muestra el botón Select 2 y la vista 2. Estupendo. Ahora quiero volver al formulario principal, así que necesito un botón en la Vista 1 (y vista 2) llamado "Menú principal". ¿Dónde debería definir el comando y los manejadores de comandos para poder enlazar con el comando "ShowMainMenu"? ¿Podría crearlos en View2ViewModel pero luego no tengo acceso para mostrar la vista principal? O bien, podría crear Thim en el modelo MainView, pero luego ¿Cómo puedo enlazarlos en el modelo de vista secundaria (estoy usando el comando RelayCommand según la recomendación mvvm y no aparecen en el padre)
Tengo dos controles de usuario visibles en una sola ventana principal, llamémoslos MainView, UC1 y UC2. cada uno de estos tiene ViewModel MainViewModel, UC1ViewModel, UC2View Model. Tengo un botón en UC1 llamado "AddItem". Debería agregar un elemento en una lista en UC2. ¿Cuál es la forma correcta de configurar un "AddItemCommand" y vincularse a él. ¿Debería estar el comando en MainViewModel, Uc1ViewModel o UC2ViewModel? Y cómo debo atarlo.
Gracias por su ayuda.
En la primera exmaple configura ViewContent = new MainViewModel()); ¿Se supone que esto es un control de ventana/usuario? ¿O realmente configura el contenido actual para un modelo de vista? – thrag
Es modelo de vista. Si coloca ContentPresenter en su vista y vincula la propiedad Content a ViewModel, se mostrará como vista asociada. ¿Utiliza asociación view-viewmodel como esta: DataTemplate> –
bniwredyc