我正在重新询问this question因为假设OP正在讨论重新定义Windows的快捷方式。我想为我的申请做这件事。还存在其他几个类似的问题,但所有答案似乎都忽略了这一点。
我正在尝试在C#/ WPF应用程序中为'space'分配键盘快捷键,将其与“暂停/继续”按钮配对。我目前正在尝试使用类似于this answer的RoutedCommand。但是,“空格”似乎是Windows(或可能是C#)中的默认快捷方式,它会重新单击最后单击的按钮。如果您推送的最后一个按钮是我尝试将快捷方式分配给的按钮,那就太棒了!但不那么好。
如何删除默认使用'space'以保留它以用于我的按钮?
答案 0 :(得分:2)
由于普通Button会捕获KeyDown事件(如果它有焦点),您最好的选择可能是收听最顶层的PreviewKeyDown
事件。在eventhandler中查找Space键将其重定向到Pause / Continue并取消eventargs,这样它就不会传播到当前聚焦按钮的KeyDown事件。