WPF Keyboard Modifier on MouseBinding
I'm working with the MVVM pattern in WPF (a bit new to both).
I'd like to set up an InputBinding
on a CheckBox
that corresponds to a Control + Click
event, but do not see a Modifiers
property on the MouseBinding
element. This is what I'd like to achieve (fictitious code, obviously- Modifiers doesn't exist):
<CheckBox>
<CheckBox.InputBindings>
<MouseBinding MouseAction="LeftClick"
Command="{Binding CheckboxControlClickCommand}"
Modifiers="Control" />
</CheckBox.InputBindings>
</Chec开发者_运维百科kBox>
Any ideas on how to accomplish this without using events?
Thanks!
Use it with keybinding too!
An old question but looks like the MouseBinding now provides a Gesture attribute just for this..
<CheckBox>
<CheckBox.InputBindings>
<MouseBinding Gesture="CTRL+LeftClick"
Command="{Binding CheckboxControlClickCommand}"/>
</CheckBox.InputBindings>
</CheckBox>
I ended up using Keyboard.Modifiers in the Execute() context of the ICommand, which seemed to work just fine.
if (Keyboard.Modifiers != ModifierKeys.Control) return;
...
I think a behavior would do the trick. You can take a look at this link.
精彩评论