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;
});