Nunca antes había usado MVVM, por lo que probablemente me esté perdiendo algo obvio. Cuando creo una nueva aplicación Panorama, ya hay una carpeta ViewModel que contiene ItemViewModel y MainViewModel.MVVM - Diferencia entre el modelo y el modelo de vista
Pensé que "MainViewModel.cs" es el archivo que organiza el panorama. Sin embargo, dentro MainViewModel, que tiene esta línea:
public MainViewModel()
{
this.Items = new ObservableCollection<ItemViewModel>();
}
El ItemViewModel no tiene interacción con el panorama. Estas son las siguientes instanciadas así:
this.Items.Add(new ItemViewModel()
{ LineOne = "first line", LineTwo = "second line", LineThree = "third line" });
¿Por qué no es ItemViewModel solo un 'Modelo'? Implementa INotifyPropertyChanged, pero ¿para qué? Yo he pensado que el ObservableCollection en MainViewModel sería suficiente para notificar cualquier cambio, como demonstrated here
gracias
Entonces, por ejemplo, si el aspecto de cambio de propiedad era irrelevante para el ItemViewModel, ¿tendría sentido 'relegar' eso simplemente a 'Modelo'? – Brap
No creo que gane mucho haciendo eso. Déjalo como un modelo de vista y solo llama al controlador de eventos para esos elementos que necesites. De esta forma, está preparado para la eventualidad de que necesite implementar la notificación. – Robaticus