Я никогда раньше не использовал 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 будет достаточно для уведомления о любых изменениях, как показано здесь