2012-07-03 99 views
0

我有一個帶有Text _R的按鈕。當用戶按下R鍵時,它激活。現在我的按鈕模板通過IsPressed上的觸發器更改外觀。這適用於鼠標點擊或空格鍵。 當用戶按下R時,是否有辦法改變外觀與IsPressed觸發器相同? 有沒有其他的觸發器我錯過了?WPF按鈕IsPressed和加速鍵觸發

我注意到了這一點從MSDN文檔。

IsPressed是一個按鈕的狀態,指示按下鼠標左鍵或空格按鈕。當IsPressed爲true時,控件捕獲鼠標。因此,該控件將引發鼠標事件,如MouseEnter和IsMouseDirectlyOverChanged。請注意,使用AccessText或ENTER不會更改IsPressed或捕獲鼠標,但確實會引發Click事件。

回答

1

你能趕上鍵盤事件

添加在構造函數中:

EventManager.RegisterClassHandler(typeof(Window), Keyboard.KeyDownEvent, new System.Windows.Input.KeyEventHandler(keyDown), true); 

且實施方法:

private void keyDown(object sender, System.Windows.Input.KeyEventArgs e) 
{ 
    if (Keyboard.IsKeyDown(Key.R)) 
    { 
     // Your code 
    } 
}