WPF KeyBinding键可以有几个可选值吗?

WPF KeyBinding键可以有几个可选值吗?,wpf,Wpf,我有一个KeyBinding,将键设置为D1,这是1键。这与NumPad1键不同 有没有一种方法可以做到: Key="D1 && NumPad1" 按下D1或NumPad1都会执行命令 我为每个键D1和NumPad1添加了第二个键绑定,但似乎应该有更好的方法。不,你不能这样做。是的,你可以-逗号分隔的(:-) 我不确定在这个问题中,您是否希望使用两个键绑定来表示用户必须按两次键。但那正是我想要的。如果这是原因,那么这篇文章将起作用 例如,我想在我的应用程序中

我有一个
KeyBinding
,将
键设置为D1,这是
1
键。这与NumPad1键不同

有没有一种方法可以做到:

Key="D1 && NumPad1"
按下D1或NumPad1都会执行命令


我为每个键D1和NumPad1添加了第二个键绑定,但似乎应该有更好的方法。

不,你不能这样做。

是的,你可以-逗号分隔的(:-)

我不确定在这个问题中,您是否希望使用两个键绑定来表示用户必须按两次键。但那正是我想要的。如果这是原因,那么这篇文章将起作用

例如,我想在我的应用程序中使用+向前,使用++向前翻倍,使用-向后翻倍,-向后翻倍:

<KeyBinding Key="OemMinus"  Modifiers="Control" Command="{Binding GoBack}"/>
<KeyBinding Key="OemMinus,OemMinus" Modifiers="Control" Command="{Binding GoBack2X}"/>

我之所以能想到这一点,是因为我知道在VisualStudio中有大量的命令具有双键,如注释或折叠区域。你知道VS2010是用WPF写的。因此,我查看了VS菜单,发现有大量以逗号分隔的命令: 视图>解决方案导航器Cntr+W,F。
我试过了,成功了

我不喜欢这个答案——但我能做什么,我只是个程序员。:)是的,你可以:)\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu,其中,答案中提供的代码将简单地将逗号分隔的最后一个值设置为实际的快捷方式。例如,如果上面的代码定义了Key=“K,OemPlus”,那么该快捷方式相当于Key=“OemPlus”,原因是Key是只接受单个值的枚举。