Подтвердить что ты не робот

Silverlight обрабатывает несколько комбинаций клавиш

У меня есть приложение Silverlight, в котором я обнаруживаю некоторые нажатия клавиш, такие как Tab или Ctrl для выполнения некоторых действий. Тем не менее, я хочу иметь возможность обрабатывать несколько нажатых одновременно клавиш, таких как Ctrl + R или что-то в этом роде. Есть ли способ сделать это в Silverlight, и если да, то как?

4b9b3361

Ответ 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.