C'è un modo semplice per dire all'intera applicazione WPF di reagire alle pressioni dei tasti di escape tentando di chiudere la vedova attualmente focalizzata? Non è un gran fastidio impostare manualmente i collegamenti di comando e di input, ma mi chiedo se ripetere questo XAML in tutte le finestre sia l'approccio più elegante?Come posso assegnare il comportamento "Chiudi su Escape-key press" a tutte le finestre WPF all'interno di un progetto?
<Window.CommandBindings>
<CommandBinding Command="Close" Executed="CommandBinding_Executed" />
</Window.CommandBindings>
<Window.InputBindings>
<KeyBinding Key="Escape" Command="Close" />
</Window.InputBindings>
Qualsiasi suggerimento costruttivo benvenuto!
può questo portare a perdite di memoria dal momento che il singleton ha un 'EventHandler'? – Maslow
Non dovrebbe fare altro, ma non ci interessa davvero la funzionalità 'CanExecute' che potresti salvaguardare facendo sì che' CanExecute' restituisca sempre true e sostituisca il gestore 'CanExecuteChanged' con implementazioni di allegati vuote (ad es. 'Evento pubblico EventHandler CanExecuteChanged {add {} remove {}} ') –