WPF: настройка фокуса клавиатуры в пользовательском элементе управления? (Проблемы с связыванием клавиш)
У меня есть приложение, которое имеет главное окно, которое содержит кучу вещей. Время от времени пользователь будет делать что-то, в ответ на что я хочу отобразить что-то еще целиком в главном окне, временно скрывая то, что есть.
Я делаю это, делая внешний элемент в главном окне сеткой без определенных строк или столбцов. Каждый элемент в сетке затем полностью заполнит одну ячейку в сетке, рисуя поверх остальных.
Таким образом, моя обычная связка находится в первом элементе сетки, а временное что-то еще - это UserControl в качестве второго элемента сетки, для которого обычно устанавливается Visibility = Collapsed.
За исключением связывания ключей все работает отлично. Когда соответствующая команда запускается в обычной связке, видимость в UserControl устанавливается на Visible, и она полностью покрывает обычную связку. Когда пользователь нажимает кнопку закрытия в UserControl, его видимость снова устанавливается на «Свернутый», и он исчезает, и обнаруживается обычная куча вещей.
Моя проблема с привязками клавиш. У меня есть несколько определенных на UserControl - которые не должны быть определены в главном окне - и они не работают. Или, скорее, они работают нормально, когда я нажимаю внутри UserControl, но они не работают, пока я не сделаю.
Мне нужно, чтобы они работали, как только UserControl становится видимым, не требуя от пользователя щелчка или вкладки в собственно UserControl.
Я предполагаю, что это как-то связано с фокусом клавиатуры, но я не смог найти способ установить фокус на UserControl. Вот в чем дело - единственный элемент в UserControl - это элемент управления вкладками, все вкладки которого динамически создаются с помощью шаблонов. Во время компиляции не существует элементов, на которые я мог бы ссылаться в явном виде и передать в KeyBoard.Focus ().
Итак, правильно ли я считаю, что проблема заключается в недостатке внимания? И если так, как я могу установить фокус на элементе в TabControl, когда я даже не знаю, сколько там вкладок, не говоря уже о том, какая из них выбрана?