Das folgende RoutedCommand-Beispiel funktioniert.
Die Behandlung der Schaltfläche, die den Befehl ausführt, befindet sich jedoch im Codebehind der Ansicht . So wie ich MVVM verstehe, sollte im ViewModel sein .
Wenn ich die Methode jedoch in das ViewModel verschiebe (und in public ändere), erhalte ich den Fehler " ManagedCustomersView enthält keine Definition von OnSave ". Selbst wenn ich den zweiten Parameter RoutedCommand in typeof (ManageCustomersViewModel) ändere, bekomme ich den gleichen Fehler.
Wie kann ich den Befehlshandler von View-codebehind in das ViewModel verschieben?
ManageCustomersView.xaml:
%Vor%ManageCustomersView.xaml.cs:
%Vor%Befehle.cs:
%Vor%Sie werden eine Eigenschaft Ihres ViewModels anzeigen, die auf den Befehl verweist.
%Vor%Dann im XAML
%Vor%Sie finden es jedoch möglicherweise einfacher, RelayCommand zu verwenden, damit Sie das tatsächliche definieren können Befehlslogik in Ihrem Modell auch.
Tags und Links wpf mvvm design routed-commands conceptual