В настоящее время я использовал этот снипп-код в результате поиска в Google.
var eventArgs = new TextCompositionEventArgs(Keyboard.PrimaryDevice,
new TextComposition(InputManager.Current, Keyboard.FocusedElement, "A"));
eventArgs.RoutedEvent = TextInputEvent;
var flag = InputManager.Current.ProcessInput(eventArgs);
Это работало, если я использовал Keyboard.Focus (TxtBox);и TxtBox будет заполнен нажатием клавиши.
Но то, чего я действительно хочу достичь, это:
- 1. Рисование прямоугольника (например, я рисую прямоугольник на одном из Excelячейка)
- 2.Нажмите на координату окна (чтобы изменить фокус клавиатуры)
- 3.Отправьте нажатие клавиши в ячейку Excel, на которую нажали
Я сделал шаг 1 и2. Но я не могу найти способ сделать третий шаг.
Почему-то событие щелчка (с помощью события мыши) может не изменить фокус клавиатуры автоматически.
Итак, как мне это сделать?изменить фокус клавиатуры, если это возможно, используя координаты?Или, может быть, я могу получить IInputElement из координаты?и затем установите фокус клавиатуры на него.Конечно, все это вне основного окна приложения WPF.