Как я могу перевести то, что мы получаем в событии KeyDown, в символ Unicode? - PullRequest
3 голосов
/ 09 марта 2012

Событие KeyDown в TextBox (например) будет обрабатывать событие клавиатуры и обновлять элемент управления до того, как событие CharacterReceived сработает на CoreWindow (на самом деле, он будет делать это до того, как событие KeyDown будет запущено и для CoreWindow ). TextBox и другие элементы управления также не имеют события CharacterReceived .

Из-за этого необходимо обработать событие TextBox :: KeyDown , чтобы выполнить фильтрацию или другую обработку событий клавиатуры.

Событие KeyDown представляется прямым отображением сообщения Win32 WM_KEYDOWN , так как оно дает нам скан-код нажатой клавиши клавиатуры и некоторые другие вещи. В WPF и Win32 мы использовали функцию MapVirtualKey () для преобразования информации о событии в символ Unicode.

Как мне это сделать в Windows RT?

1 Ответ

2 голосов
/ 15 мая 2012

Больше нет функции MapVirtualKey.Единственная информация, которую я нашел по этому поводу, заключается в том, что вам нужно отслеживать переменные, такие как клавиша Shift (клавиша кандзи и т. Д. Для иностранных языков) с помощью bools, в событиях keydown и keyup, а затем делать массивный случай переключенияпримет все переменные и выложит то, что вы хотите для вашего приложения.Вот страница Microsoft, в которой изложены некоторые основы:

http://msdn.microsoft.com/en-us/library/windows/apps/xaml/hh868246.aspx

...