我有一个Silverlight应用程序,我在其中捕获某些按键,如 标签 要么 按Ctrl 执行一些动作。但是,我希望能够同时处理多个按键,例如 按Ctrl + [R 或类似的东西。有没有办法在Silverlight中做到这一点,如果是这样,怎么样?
我有一个Silverlight应用程序,我在其中捕获某些按键,如 标签 要么 按Ctrl 执行一些动作。但是,我希望能够同时处理多个按键,例如 按Ctrl + [R 或类似的东西。有没有办法在Silverlight中做到这一点,如果是这样,怎么样?
看看吧 ModifierKeys枚举 检查多个按键组合。看到 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键组合限制为仅移位。