【问题标题】:mvvmlight eventtocommand modifiersmvvmlight eventto 命令修饰符
【发布时间】:2012-10-03 07:52:09
【问题描述】:

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

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

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

【问题讨论】:

    标签: mvvm keyboard mvvm-light eventtocommand


    【解决方案1】:

    这样做:

    TestCmd = new RelayCommand(() =>
    {
        // command action here
    
    }, () => Keyboard.Modifiers == ModifierKeys.Control);
    

    【讨论】:

      【解决方案2】:

      我认为最好的解决方案是使用 RelayCommand 的 CanExecute 功能。

      解决方案可能是:

      TestCmd= new RelayCommand<MouseEventArgs>(e =>
      {
           // do your command
      },   e =>
      {
           return (Keyboard.Modifiers & ModifierKeys.Control) > 0;
      });
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-02-27
        • 2011-08-15
        • 2021-11-06
        • 1970-01-01
        • 1970-01-01
        • 2022-06-16
        相关资源
        最近更新 更多