Как лучше реагировать на нажатия цифровых клавиш?

Я хочу разрешить проверку радиокнопок через клавиатуру, а именно через цифры 1, 2, 3. У меня есть этот код, который работает:

// "a WPF form hears what it wants to hear and disregards the rest" - paraphrased from "The Boxer" by Simon & Garfunkel
private void Window_PreviewKeyDown(object sender, System.Windows.Input.KeyEventArgs keArgs)
{
    var keyPressed = keArgs.Key.ToString();
    if ((keyPressed.Equals("D1")) || (keyPressed.Equals("NumPad1")))
    {
        rdbtnCandidateVal1.IsChecked = true;
    }
    else if ((keyPressed.Equals("D2")) || (keyPressed.Equals("NumPad2")))
    {
        rdbtnCandidateVal2.IsChecked = true;
    }
    else if ((keyPressed.Equals("D3")) || (keyPressed.Equals("NumPad3")))
    {
        rdbtnCandidateVal3.IsChecked = true;
    }
}

... но знайте, что это клудж'бес. Какой лучший способ предпринять действия для подмножества клавиш и игнорировать остальные?

0 ответов

Другие вопросы по тегам