0

mvvm light を使用して EventToCommand に修飾子を追加するソリューションを探しています。私が達成したいのは、ctrlが押された場合にのみ、mouseEnterと言うコマンドをバインドすることです。以下に、mouseenter コマンドのみを示します。

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

キーボード修飾子を追加する方法はありますか?

4

2 に答える 2

1

これを行うだけです:

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

}, () => Keyboard.Modifiers == ModifierKeys.Control);
于 2012-10-04T18:16:29.157 に答える
0

RelayCommand の CanExecute 機能を使用するのが最善の解決策だと思います。

解決策は次のとおりです。

TestCmd= new RelayCommand<MouseEventArgs>(e =>
{
     // do your command
},   e =>
{
     return (Keyboard.Modifiers & ModifierKeys.Control) > 0;
});
于 2012-10-03T11:51:47.017 に答える