Gibt es eine einfache Möglichkeit, der gesamten WPF-Anwendung zu sagen, dass sie auf Escape-Tasten drücken soll, indem sie versucht, die gerade fokussierte Witwe zu schließen? Es ist keine große Mühe, die Befehls- und Eingabebindungen manuell einzurichten, aber ich frage mich, ob die Wiederholung dieses XAML in allen Fenstern der eleganteste Ansatz ist?Wie kann ich das Verhalten 'Bei Escape-Taste drücken' allen WPF-Fenstern innerhalb eines Projekts zuweisen?
<Window.CommandBindings>
<CommandBinding Command="Close" Executed="CommandBinding_Executed" />
</Window.CommandBindings>
<Window.InputBindings>
<KeyBinding Key="Escape" Command="Close" />
</Window.InputBindings>
Irgendwelche konstruktiven Vorschläge willkommen!
kann das dazu führen können, um Speicherlecks, da der Singleton einen 'EventHandler' hat? – Maslow
Es sollte nicht funktionieren, aber die "CanExecute" -Funktionalität interessiert Sie nicht. Sie können dagegen "CanExecute" immer auf "True" setzen und den "CanExecuteChanged" - Handler durch leere Attachment-Implementierungen (zB 'public event EventHandler ') ersetzen CanExecuteChanged {add {} remove {}} ') –