Wie kann ich mit WPF-Routingbefehlen in meinem ViewModel ohne Code-Behind umgehen?

ach meinem Verständnis von MVVM empfiehlt es sich, weitergeleitete Befehle direkt im ViewModel zu verarbeite

Wenn ein weitergeleiteter Befehl in einem ViewModel als RelayCommand (oder DelegateCommand) definiert ist, kann er leicht direkt an den Befehl gebunden werden: Command = {Binding MyViewModelDefinedCommand}.

Für weitergeleitete Befehle, die außerhalb von ViewModel definiert sind, bearbeite ich diese Befehle im Code hinter View und leite Aufrufe an ViewModel weiter. Aber ich finde es peinlich, dass ich das tun muss. Dies widerspricht den empfohlenen bewährten Methoden von MVVM. Ich denke, dass es einen eleganteren Weg geben sollte, um den Job zu erreichen.

Wie kann ich mit einem "System.Windows.Input.ApplicationCommands" oder einem beliebigen weitergeleiteten Befehl umgehen, der außerhalb des ViewModel direkt im ViewModel definiert ist? Mit anderen Worten, wie kann ich für Befehle, die außerhalb des ViewModel definiert wurden, den CommandBinding-Rückruf "CommandExecute" und / oder "CommandCanExecute" direkt an das ViewModel senden? Ist das möglich oder nicht? Wenn ja wie? Wenn nein, warum?

Antworten auf die Frage(6)

Ihre Antwort auf die Frage