___ tag123wpf ___ Windows Presentation Foundation oder WPF ist ein Subsystem zum Rendern von Benutzeroberflächen in Windows-basierten Anwendungen.
___ tag123mvvm ___ Model-View-ViewModel (MVVM) ist ein Architekturentwurfsmuster zum Implementieren von Benutzerschnittstellen, das die Benutzeroberfläche (die Ansicht) von ihren Daten (dem Modell) über ihre Präsentationslogik (ihr ViewModel) trennt.
___ qstnhdr ___ Wie verschiebe ich meinen RoutinedCommand-Handler von View-codebehind nach ViewModel?
___ tag123konzeptuell ___ Bei den konzeptionellen Fragen handelt es sich um Programmierprobleme, die nicht mit Programmcode selbst, sondern mit Algorithmuslogik und Programmarchitektur zusammenhängen.
___ tag123design ___ Design in der Programmierung ist die Handlung, bestimmte Entscheidungen darüber zu treffen, wie man ein Programm am besten strukturiert, um Ziele der Zuverlässigkeit, Wartbarkeit, Korrektheit oder Benutzerfreundlichkeit zu erreichen.
___ answer805846 ___
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.
___ tag123routeredcommands ___ WPF: Definiert einen Befehl, der ICommand implementiert und über die Elementstruktur weitergeleitet wird.
___ qstntxt ___
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%
___