我正在寻找一种向EventToCommand添加修饰符的解决方案,使用mvvm light。我想要实现的是绑定一个命令让我们说mouseEnter但是只有按下ctrl才能实现。下面我只有一个mouseenter命令。
<i:Interaction.Triggers>
<i:EventTrigger EventName="MouseEnter">
<cmd:EventToCommand Command="{Binding TestCmd}"/>
</i:EventTrigger>
</i:Interaction.Triggers>
知道如何添加键盘修饰符吗?
答案 0 :(得分:1)
这样做:
TestCmd = new RelayCommand(() =>
{
// command action here
}, () => Keyboard.Modifiers == ModifierKeys.Control);
答案 1 :(得分:0)
我认为最好的解决方案是使用RelayCommand的CanExecute功能。
解决方案可能是:
TestCmd= new RelayCommand<MouseEventArgs>(e =>
{
// do your command
}, e =>
{
return (Keyboard.Modifiers & ModifierKeys.Control) > 0;
});