routed-commands

___ 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%     
___
2
Antworten

Irgendwelche MVVM-Frameworks, die mit RoutedCommand gut funktionieren?

RoutedCommand und RoutedUICommand haben viel zu bieten. Es gibt eine eingebaute Unterstützung für Text und Tastaturgesten. Sie können eine Auflistung von RoutedUICommands an die ItemsSource eines Menüs binden und automatisch Menüelemente für Sie...
21.11.2010, 01:01
3
Antworten

Wie kann ich verwaltete WPF-Befehle in meinem ViewModel ohne Code-Behind umgehen?

Nach meinem Verständnis von MVVM ist es eine gute Vorgehensweise, geroutete Befehle direkt im ViewModel zu behandeln. Wenn ein weitergeleiteter Befehl in einem ViewModel als RelayCommand (oder DelegateCommand) definiert wird, ist es einfach,...
23.03.2016, 16:16
1
Antwort

Wie verschiebe ich meinen RoutinedCommand-Handler von View-codebehind nach ViewModel?

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...
30.04.2009, 07:53