我实现了自己的撤消/重做功能(在网络上有很多帮助),这很有启发性。Undo 和 Redo 命令在 ViewModel 中定义。我可以通过Command
a 的属性来连接这些命令MenuItem
。作为最后一步,我想通过标准的 CTRL-Z 和 CTRL-Y 键盘快捷键连接这些命令。
令我沮丧的是,我发现MenuItem
班级不支持这一点。使用 WinForms 这将是一件轻而易举的事,但似乎在 WPF 中实现这一点非常复杂。怎么做最容易?
这个问题实际上是这个问题的重复问题: 但是:从 WPF 4.0 开始,Michel Keijzer 的答案是正确的,非常简单!我会把它放在这里(在问题结束之前:-))
<Window.InputBindings>
<KeyBinding Command="{Binding Path=UndoCommand}"
Key="Z" Modifiers="Control"></KeyBinding>
</Window.InputBindings>
在 Window.Resources 之后添加这个