mvvmlight eventtocommand修饰符

时间:2012-10-03 07:52:10

标签: mvvm keyboard mvvm-light eventtocommand

我正在寻找一种向EventToCommand添加修饰符的解决方案,使用mvvm light。我想要实现的是绑定一个命令让我们说mouseEnter但是只有按下ctrl才能实现。下面我只有一个mouseenter命令。

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

知道如何添加键盘修饰符吗?

2 个答案:

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