Ich habe MVVM noch nie verwendet, daher übersehe ich wahrscheinlich etwas Offensichtliches. Wenn ich eine neue Panorama-Anwendung erstelle, gibt es bereits einen ViewModel-Ordner, der ItemViewModel und MainViewModel enthält.
Ich dachte, „MainViewModel.cs“ sei die Datei, die das Panorama organisiert. Innerhalb von MainViewModel gibt es jedoch diese Zeile:
Code: Select all
public MainViewModel()
{
this.Items = new ObservableCollection();
}
Das ItemViewModel hat keine Interaktion mit dem Panorama. Diese werden dann wie folgt instanziiert:
Code: Select all
this.Items.Add(new ItemViewModel()
{
LineOne = "first line",
LineTwo = "second line",
LineThree = "third line"
});
Warum ist ItemViewModel nicht nur ein „Modell“? Es implementiert INotifyPropertyChanged, aber zu welchem Zweck? Ich hätte gedacht, dass die ObservableCollection in MainViewModel ausreichen würde, um alle Änderungen zu benachrichtigen, wie hier gezeigt