Casablanca: MVVM

Beitrag lesen

Hallo Fprum,

ich bräuchte nochmal eure Hilfe. Also, ich lerne gerade WPF-MVVM anhand eines Beispiels, das hier zu finden ist: https://rachel53461.wordpress.com/2011/05/08/simplemvvmexample/. Ich verstehe da leider einiges noch nicht ganz. Ich hoffe, dass mir jemand kurz erklären kann, was da vor sich geht.

Das MVVM-Prinzip ist mir schon klar. Hier wird das ViewModel in die DataContext-Property gespeichert und in die MainWindow.xaml eingebunden. Ich nehme an, dass genau deswegen auch zunächst das "DataTemplate for Product ViewModel" in der ProductView.xaml geladen wird.

Mir ist aber an dieser Stelle die Funktionalität der RelayCommand-Klasse und das Prinzip von ICommand in dieser Klasse nicht ganz klar.

  readonly Action<object> _execute;
  readonly Predicate<object> _canExecute;
  1. Sind das delgates? Worauf bezeihen sie sich? Ich bin da etwas irritiert, weil in der CanExecute und Execute so etwas steht: _execute(parameters); Was bewirkt das.
  2. Diese Methoden werden aufgerufen, ich siehe aber nirgends, wo Command eingebunden ist.
  3. In der Methode CanExecuteChanged, wann wird add und wann wird remove angestoßen.

Danke im Voraus.