我有以下XAML代码......
<xaml:WindowBase.InputBindings>
<KeyBinding Key="D1" Command="{Binding InputItemAddCommand}" CommandParameter="1"/>
<KeyBinding Key="D2" Command="{Binding InputItemAddCommand}" CommandParameter="2"/>
<KeyBinding Key="D3" Command="{Binding InputItemAddCommand}" CommandParameter="3"/>
</xaml:WindowBase.InputBindings>
如果我想添加一个额外的键绑定,例如D4,我需要进入XAML并添加一行额外的代码。
我想在我的viewmodel中公开一个集合并绑定到这个列表......
像...一样的东西。
<xaml:WindowBase.InputBindings KeyBindings="{Binding MyKeyBindingCollection}"/>
然后在viewmodel中填充MyKeyBindingCollection(我正在使用MVVM方法)
var MyKeyBindingCollection = new List<KeyBinding>();
MyKeyBindingCollection.Add(new KeyBinding(InputItemAddCommand, Key.D1, ModifierKeys.None));
MyKeyBindingCollection.Add(new KeyBinding(InputItemAddCommand, Key.D2, ModifierKeys.None));
MyKeyBindingCollection.Add(new KeyBinding(InputItemAddCommand, Key.D3, ModifierKeys.None));
我不知道XAML中是否有某些内容可以让我实现这一点或者在viewmodel中动态填充KeyBindings。
非常感谢任何帮助或建议。