2012-07-03 56 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 
    } 
}