Soy algo nuevo en MVVM. No estoy seguro de cuál es la mejor manera de hacer lo que estoy tratando de hacer.Forma correcta de acceder a un modelo de vista desde un modelo de vista existente
Aquí está el panorama:
Tengo una máquina virtual que se va a mostrar otra ventana. Puedo llamar al myNewWindowView.Show()
, pero primero necesito establecer algunos datos en la máquina virtual de mi nueva ventana.
¿Debo exponer tanto el myNewWindowView
como el NewWindowViewModel
al modelo de vista que llama?
Aquí se muestra un ejemplo:
class MainVM
{
public void FindCustomer(string nameParial)
{
List<Customer> customers = ServiceCall.GetCustomers(nameParital);
// This is the part I am not sure how to do. I am not sure if this
// View Model should have a reference to a different view model and
// the view too.
myNewWindowViewModel.CustomerList = customers;
myNewWindowView.Show();
}
}
Suena bien, pero también suena borroso. ¿Puedes mostrarme un ejemplo de cómo harías mi ejemplo, verdad? (Es decir, una ventana abre otra con algunos datos pasados entre ellos.) – Vaccano
Lo intentaré. Probablemente tendré que arreglarlo más tarde, ya que estoy haciendo esto desde mi teléfono :) –
Esto se ve bien, excepto que mi 'CustomerListView.DataContext' se establece en mi' CustomerListViewModel'. Si configuro el resultado de 'FindCustomer' entonces pierdo la configuración de MVVM para esa vista. – Vaccano