如何连接一个由Ctrl-Z调用的ViewModel中的Undo命令?

时间:2013-01-01 22:27:25

标签: wpf mvvm .net-4.0 command wpf-4.0

我实现了自己的撤销/重做功能(在网上提供了很多帮助),这很有启发性。撤消和重做命令在ViewModel中定义。我能够通过Command的{​​{1}}属性挂起这些命令。作为最后一步,我想通过标准的CTRL-Z和CTRL-Y键盘快捷键来连接这些命令。

令我沮丧的是,我发现MenuItem班不支持这一点。使用WinForms这本来就很容易,但似乎在WPF中实现这一点非常复杂。如何最容易地完成?

1 个答案:

答案 0 :(得分:3)

这个问题实际上是this one:的重复问题  然而:从WPF 4.0开始,Michel Keijzer的答案是正确的,非常简单!我会把它放在这里(在问题关闭之前: - ))

<Window.InputBindings>
    <KeyBinding Command="{Binding Path=UndoCommand}" 
      Key="Z" Modifiers="Control"></KeyBinding>
</Window.InputBindings>

在Window.Resources

之后添加