MouseBinding上的WPF键盘修改器

ego*_*rry 4 wpf checkbox mouseevent inputbinding

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

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

<CheckBox>
     <CheckBox.InputBindings>
           <MouseBinding MouseAction="LeftClick" 
                         Command="{Binding CheckboxControlClickCommand}"
                         Modifiers="Control" />
     </CheckBox.InputBindings>
</CheckBox>
Run Code Online (Sandbox Code Playgroud)

如何在不使用事件的情况下完成此任务的任何想法

谢谢!

Nat*_*txo 13

与键绑定一起使用!


gou*_*dos 7

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

<CheckBox>
     <CheckBox.InputBindings>
           <MouseBinding Gesture="CTRL+LeftClick" 
                         Command="{Binding CheckboxControlClickCommand}"/>
     </CheckBox.InputBindings>
</CheckBox>
Run Code Online (Sandbox Code Playgroud)


ego*_*rry 1

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

if (Keyboard.Modifiers != ModifierKeys.Control) return;
    ...
Run Code Online (Sandbox Code Playgroud)