У меня есть "экранная клавиатура" с несколькими кнопками вверх / вниз / влево / вправо / выбора.
Кнопка выбора фактически является щелчком, а клавиши со стрелками запускают соответствующую клавишу вверх / вниз / влево / вправо.
Проблема в том, что при выборе поля со списком я не могу нажимать кнопки вниз / вверх для навигации по элементам в списке. Это потому, что поле со списком автоматически закрывается при потере фокуса. Я вижу аналогичные проблемы, возникающие с другими элементами управления, поэтому я хотел бы посмотреть, есть ли способ сделать следующее.
Для определенных кнопок (вверх / вниз / и т. Д.) При нажатии запускается событие щелчка, но не берут фокус с того, что в данный момент находится в фокусе. Это позволит раскрывающемуся списку combox оставаться открытым при нажатии вверх / вниз для навигации по элементам.
Я попытался установить Focusable = False для кнопок навигации, но фокус по-прежнему убирается с поля со списком, и раскрывающийся список закрывается.
Есть идеи / предложения?
заранее спасибо
KeyPreview
в форме, которое заставляет любое ключевое событие дочерних элементов управления происходить первым в содержащей форме. Затем вы можете переместить свои элементы и установитьHandled
свойствоKeyEventArgs
наtrue
, чтобы предотвратить продолжение события и изменение фокуса. Может быть, есть похожая концепция в окнах wpf. - person RoadBump   schedule 12.02.2013