WPF按钮IsPressed和加速键触发器

时间:2012-07-03 07:06:16

标签: wpf

我有一个带有Text _R的按钮。当用户按下R键时,它会激活。现在,我的按钮模板通过IsPressed上的触发器更改外观。这适用于鼠标单击或空格键。 当用户按下R时,有没有办法改变外观和IsPressed触发器相同? 还有其他一些我错过的触发器吗?

我在MSDN文档中注意到了这一点。

IsPressed是一个按钮的状态,表示鼠标左键或按钮上的空格键。当IsPressed为true时,控件捕获鼠标。因此,该控件将引发鼠标事件,如MouseEnter和IsMouseDirectlyOverChanged。请注意,使用AccessText或ENTER不会更改IsPressed或捕获鼠标,但确实会引发Click事件。

1 个答案:

答案 0 :(得分: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
    }
}
相关问题