如何在 WPF 应用程序中按下按键后执行命令并更改焦点
我有一个使用 MVVM Light 的 WPF 应用程序,我希望在视图模型上执行命令,并在用户按 ALT+SHIFT+C 时将键盘焦点更改为特定控件。
是否有可能以一种优雅的方式实现这一点?
I have a WPF app that uses MVVM Light and I wish to both execute a command on the view model and change the keyboard focus to a specific control when the user presses ALT+SHIFT+C.
Is it possible to achieve this in an elegant way?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这取决于快捷键的创建方式(如果它像 Visual Studio 或者更像 Windows - 这意味着您必须只按住 ALT 或所有键)。
但无论逻辑如何,您都必须首先将事件绑定到命令(可能是某个控件的事件按键)。
在 MVVM Light 中,您必须将 Interaction.Triggers 与 EventToCommand 一起使用(google 和 SO 上有很多解释)
逻辑将放在您的命令中。
然后是依赖属性,如下所示此处 可以用来获得焦点。
It depends on how the shortcut key is created (if it's like Visual Studio or more like Windows - it means if you have to hold only ALT or all the keys).
But whatever the logic, You will have to first bind an Event to a Command (it might be the event keydown of one of your controls).
In MVVM Light, you will have to use Interaction.Triggers with EventToCommand (there's a lot ot explanations on google and SO)
The logic would be put here in you command.
Then a dependecy property as show here could be implemented for getting the focus.