0

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

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

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

4

1 回答 1

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
    }
}
于 2012-07-03T10:51:14.253 回答