2013-08-02 47 views
1

我有一个按钮。 我希望她能使用MVVMWPF。 mvvm中的快捷方式

到SHIFT +鼠标点击反应我试着这样做:

XAML:

<Button> 
    <Button.InputBindings> 
    <MouseBinding Command="{Binding AAA}" Gesture="Shift+LeftClick" /> 
    </Button.InputBindings> 
</Button> 

C#:

private RelayCommand _aaa; 

     public RelayCommand AAA 
     { 
      get 
      { 
       return _aaa ??(_aaa =new RelayCommand(ExecuteAAA, CanExecuteAAA)); 
      } 
     } 

     private void ExecuteAAA() 
     {  
      MessageBox.Show("111"); 
     } 

     private bool CanExecuteAAA() 
     { 
      return true; 
     } 

但它不工作。

我该怎么办?

回答

1

就我所知,代码没有任何问题。如果绑定正确,手势定义是正确的并且有效。你有没有检查输出窗口的绑定错误?

+0

我已经检查了输出窗口绑定错误。这是好的 – Zhenia

+0

这是否正常点击工作?

+0

是的,它适用于正常点击 – Zhenia

0

它的工作!

XAML:

<Button Command="{Binding AAA}" /> 

C#:

private RelayCommand _aaa; 

     public RelayCommand AAA 
     { 
      get 
      { 
       return _aaa ??(_aaa =new RelayCommand(ExecuteAAA, CanExecuteAAA)); 
      } 
     } 

     private void ExecuteAAA() 
     {  
      if (System.Windows.Forms.Control.ModifierKeys == System.Windows.Forms.Keys.Shift) 
      { 
      MessageBox.Show("111"); 
      } 
     } 

     private bool CanExecuteAAA() 
     { 
      return true; 
     }