Итак, я использую элемент управления сетью wpf третьей части, который жестко закодирован, чтобы принимать только определенные нажатия клавиш для выполнения коротких реакций, а одним из них является Shift-Tab. Тем не менее, моя пользовательская база используется для стрельбы по стрелке и стрелке вниз и говорит, что "нет" сейчас не вариант. Поэтому мой единственный вариант, я думаю, заключается в том, чтобы перехватить клавишу предварительного просмотра и отправить другую комбинацию клавиш.
Теперь я использую следующий код, который я нашел здесь, чтобы отправить вкладку, когда пользователь нажимает стрелку вниз:
if (e.Key == Key.Down)
{
e.Handled = true;
KeyEventArgs eInsertBack = new KeyEventArgs(Keyboard.PrimaryDevice, Keyboard.PrimaryDevice.ActiveSource, 0, Key.Tab);
eInsertBack.RoutedEvent = UIElement.KeyDownEvent;
InputManager.Current.ProcessInput(eInsertBack);
}
Однако этот метод ограничен тем, что вы, похоже, не можете имитировать нажатие кнопки Shift? WPF, похоже, смотрит на Keyboard.Modifiers, чтобы иметь возможность "читать" Shift или Ctrl, но, похоже, не существует никаких возможностей для программного программирования Keyboard.Modifiers. Любая помощь там?