2013-08-02 85 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; 
     }