ego*_*rry 4 wpf checkbox mouseevent inputbinding
我正在使用WPF中的MVVM模式(两者都有点新).
我想设置InputBinding一个CheckBox与Control + Click事件相对应的on ,但是Modifiers在MouseBinding元素上看不到属性.这就是我想要实现的(虚构代码,显然 - 修饰符不存在):
<CheckBox>
<CheckBox.InputBindings>
<MouseBinding MouseAction="LeftClick"
Command="{Binding CheckboxControlClickCommand}"
Modifiers="Control" />
</CheckBox.InputBindings>
</CheckBox>
Run Code Online (Sandbox Code Playgroud)
如何在不使用事件的情况下完成此任务的任何想法
谢谢!
这是一个老问题,但看起来 MouseBinding 现在为此提供了一个 Gesture 属性。
<CheckBox>
<CheckBox.InputBindings>
<MouseBinding Gesture="CTRL+LeftClick"
Command="{Binding CheckboxControlClickCommand}"/>
</CheckBox.InputBindings>
</CheckBox>
Run Code Online (Sandbox Code Playgroud)
我最终在 ICommand 的 Execute() 上下文中使用 Keyboard.Modifiers,这似乎工作得很好。
if (Keyboard.Modifiers != ModifierKeys.Control) return;
...
Run Code Online (Sandbox Code Playgroud)