Разница между моделью и ViewModel

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

9
задан Uwe Keim 14 June 2019 в 14:29
поделиться