Silverlight处理多个按键组合

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

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

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 } 

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

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