c # / wpf имитировать клавиши со стрелками (и другие клавиши управления) через события - PullRequest
0 голосов
/ 20 января 2011

Я пытаюсь смоделировать несколько действий клавиатуры в текстовом поле wpf, включая нажатия стрелок (для перемещения каретки и т. Д.) Из другого события (например, нажатия кнопки). У меня нет проблем с добавлением текста путем поднятия

TextCompositionManager.TextInputEvent

событие, но попытка отправить ключи через события клавиатуры не работает:

Keyboard.Focus(targetTextBox);

KeyEventArgs ke = new KeyEventArgs(Keyboard.PrimaryDevice, PresentationSource.FromVisual(targetTextBox), 0, Key.UP);

ke.RoutedEvent = Keyboard.KeyDownEvent;
targetTextBox.RaiseEvent(ke);

Есть ли способ отправить управляющие клавиши через TextInputEvent или заставить событие Keyboard работать - я попытался использовать previewDownEvent и выполнить сопряжение с событиями keyUp.

РЕДАКТИРОВАТЬ: Также я бы предпочел сделать это через wpf, если это возможно, без использования форм Windows.

Спасибо

1 Ответ

1 голос
/ 20 января 2011

Я считаю, это - это то, что вы ищете, хотя оно не использует события.

...
    SendKeys.Send("{LEFT}");
    SendKeys.Send("{RIGHT}");
...

Не забудьте установить фокус на элемент управления, который вы хотите ввести в первую очередь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...