Я никогда раньше не использовал MVVM, поэтому, вероятно, упускаю что-то очевидное. Когда я создаю новое приложение Panorama, уже существует папка ViewModel, содержащая ItemViewModel и MainViewModel.
Я думал, что «MainViewModel.cs» — это файл, который организует панораму. Однако в MainViewModel есть такая строка:
Код: Выделить всё
public MainViewModel()
{
this.Items = new ObservableCollection();
}
ItemViewModel не взаимодействует с панорамой. Затем они создаются следующим образом:
Код: Выделить всё
this.Items.Add(new ItemViewModel()
{
LineOne = "first line",
LineTwo = "second line",
LineThree = "third line"
});
Почему ItemViewModel не просто «модель»? Он реализует INotifyPropertyChanged, но с какой целью? Я думал, что ObservableCollection в MainViewModel будет достаточно, чтобы уведомить о любых изменениях, как показано здесь
Подробнее здесь:
https://stackoverflow.com/questions/382 ... -viewmodel