Silverlight处理多个按键组合

时间:2010-04-12 03:37:26

标签: c# silverlight events keyboard keyboard-shortcuts

我有一个Silverlight应用程序,我可以在其中捕获某些按键,例如 Tab Ctrl 来执行某些操作。但是,我希望能够处理同时按下的多个键,例如 Ctrl + R 或类似的东西。有没有办法在Silverlight中做到这一点,如果有,怎么做?

2 个答案:

答案 0 :(得分:15)

查看ModifierKeys Enumeration以检查多个按键组合。有关代码示例和更多信息,请参阅Silverlight Keyboard Support

void Canvas_KeyUp(object sender, KeyEventArgs e)
{
    //check for the specific 'v' key, then check modifiers
    if (e.Key==Key.V) { 
        if ((Keyboard.Modifiers & ModifierKeys.Control) == ModifierKeys.Control) {
        //specific Ctrl+V action here
        }
    } // else ignore the keystroke
}

答案 1 :(得分:1)

处理像Cntrl + X这样的关键组合是非常有问题的,因为你在浏览器中运行Silverlight可能会使用大多数Cntrl组合本身。然后考虑到你可能需要支持IE,Firefox等多种浏览器,我建议你放弃。

因此我将Silverlight键组合限制为仅移位。