Có cách nào đơn giản để nói cho toàn bộ ứng dụng WPF phản ứng với các phím bấm thoát bằng cách cố gắng đóng góa phụ hiện đang tập trung không? Nó không phải là một bận tâm lớn để tự thiết lập các ràng buộc lệnh và đầu vào nhưng tôi tự hỏi nếu lặp đi lặp lại XAML này trong tất cả các cửa sổ là cách tiếp cận thanh lịch nhất?Làm cách nào để chỉ định hành vi 'Đóng khi nhấn phím Escape' cho tất cả các cửa sổ WPF trong một dự án?
<Window.CommandBindings>
<CommandBinding Command="Close" Executed="CommandBinding_Executed" />
</Window.CommandBindings>
<Window.InputBindings>
<KeyBinding Key="Escape" Command="Close" />
</Window.InputBindings>
Bất kỳ đề xuất xây dựng nào đều được chào đón!
có thể điều này dẫn đến rò rỉ bộ nhớ vì singleton có 'EventHandler'? – Maslow
Nó không nên làm nhưng vì chúng ta không thực sự quan tâm đến chức năng 'CanExecute' mà bạn có thể bảo vệ chống lại nó bằng cách có' CanExecute' luôn trả về true và thay thế trình xử lý 'CanExecuteChanged' bằng các cài đặt đính kèm rỗng (ví dụ' EventHandler CanExecuteChanged {add {} remove {}} ') –