Вместо использования события KeyDown
попробуйте использовать событие TextInput
.Присоедините обработчик событий, который выглядит следующим образом:
private void Grid_TextInput(object sender, TextCompositionEventArgs e)
{
Char keyChar = (Char)System.Text.Encoding.ASCII.GetBytes(e.Text)[0];
Debug.WriteLine(keyChar);
}
Обратите внимание, что он захватывает только первый байт, и это не будет работать для международного (Unicode) текста.Он также может не работать для более сложных событий ввода текста, поэтому имейте в виду!
См. эту статью MSDN для получения дополнительной информации.