4

我正在使用 WPF 中的 MVVM 模式(对两者都有点新意)。

我想设置一个对应于事件的InputBindingon a ,但看不到元素上的属性。这就是我想要实现的(虚构的代码,显然 - 修饰符不存在):CheckBoxControl + ClickModifiersMouseBinding

<CheckBox>
     <CheckBox.InputBindings>
           <MouseBinding MouseAction="LeftClick" 
                         Command="{Binding CheckboxControlClickCommand}"
                         Modifiers="Control" />
     </CheckBox.InputBindings>
</CheckBox>

关于如何在不使用事件的情况下完成此操作的任何想法?

谢谢!

4

4 回答 4

13

也可以将它与键绑定一起使用!

于 2010-01-14T15:58:21.930 回答
4

一个老问题,但看起来 MouseBinding 现在为此提供了一个 Gesture 属性。

<CheckBox>
     <CheckBox.InputBindings>
           <MouseBinding Gesture="CTRL+LeftClick" 
                         Command="{Binding CheckboxControlClickCommand}"/>
     </CheckBox.InputBindings>
</CheckBox>
于 2017-06-01T07:52:29.203 回答
1

我最终在 ICommand 的 Execute() 上下文中使用了 Keyboard.Modifiers,这似乎工作得很好。

if (Keyboard.Modifiers != ModifierKeys.Control) return;
    ...
于 2009-11-24T16:49:01.760 回答
0

我认为一种行为可以解决问题。你可以看看这个链接

于 2009-11-03T15:33:22.917 回答