Silverlight обрабатывает несколько комбинаций клавиш
У меня есть приложение Silverlight, в котором я обнаруживаю некоторые нажатия клавиш, такие как Tab или Ctrl для выполнения некоторых действий. Тем не менее, я хочу иметь возможность обрабатывать несколько нажатых одновременно клавиш, таких как Ctrl + R или что-то в этом роде. Есть ли способ сделать это в Silverlight, и если да, то как?
Ответы
Ответ 1
Взгляните на 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
}
Ответ 2
Обработка комбинаций клавиш, таких как Cntrl + X, очень проблематична для Silverlight, поскольку вы работаете в браузере, который, вероятно, будет использовать большинство комбинаций Cntrl. Затем, учитывая, что вам, вероятно, необходимо поддерживать несколько браузеров, таких как IE, Firefox и т.д. Я рекомендую вам отказаться.
Следовательно, я ограничу только комбинации клавиш Silverlight.