WPF中的ProcessCmdKey模拟

0x4*_*9D1 3 wpf keyboard-shortcuts hotkeys

我是WPF和WinForms的新手,可以将热键添加到我通常使用的ProcessCmdKey表单中,这样可以轻松覆盖(添加)与键相关的功能(类似于此处描述的方式).有没有一种简单的方法来在WPF中分配热键?我正在使用带有键的命令,但有时这不起作用(我认为窗口上的其他一些控件会响应这些手势并完成它们的工作,因此我的命令无法响应预定义的键手势).

H.B*_*.B. 5

InputBindings的作用域与它们被分配到控制,如果分配KeyBindingWindow.InputBindings,他们将在整个窗口被解雇,除非相同的手势由当地某处被定义下来的树覆盖.

例如:

<UserControl.InputBindings>
    <KeyBinding Gesture="CTRL+SHIFT+N"
                Command="{Binding BtnNewChild_Command}"
                CommandParameter="{Binding ElementName=view}" />
</UserControl.InputBindings>
Run Code Online (Sandbox Code Playgroud)

不起作用,它不能将视图元素作为参数传递,因为在该UserControl中有一个名为"view"的控件.wpf是否有一些"常见"热键分配方案?

这里的问题只是范围,子控件可以访问在树上声明更高的东西而不是相反的方式.你可以重构这个来创建你的视图作为资源UserControl.Resources然后你可以在CommandParameter你使用它的时候引用它UserControl.