Как лучше реагировать на нажатия цифровых клавиш?
Я хочу разрешить проверку радиокнопок через клавиатуру, а именно через цифры 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;
}
}
... но знайте, что это клудж'бес. Какой лучший способ предпринять действия для подмножества клавиш и игнорировать остальные?