mvvmlight eventtocommand модификаторы

Я ищу решение о добавлении модификаторов в EventToCommand usign mvvm light. Чего я хочу добиться, так это связать команду, скажем, mouseEnter, но только если нажата Ctrl. Ниже у меня есть только команда mouseenter.

<i:Interaction.Triggers>
  <i:EventTrigger EventName="MouseEnter">
    <cmd:EventToCommand Command="{Binding TestCmd}"/>
  </i:EventTrigger>
</i:Interaction.Triggers>

Есть идеи, как добавить к ней модификатор клавиатуры?

2 ответа

Просто сделай это:

TestCmd = new RelayCommand(() =>
{
    // command action here

}, () => Keyboard.Modifiers == ModifierKeys.Control);

Я думаю, что лучшим решением является использование функции CanExecute RelayCommand.

решение может быть:

TestCmd= new RelayCommand<MouseEventArgs>(e =>
{
     // do your command
},   e =>
{
     return (Keyboard.Modifiers & ModifierKeys.Control) > 0;
});
Другие вопросы по тегам