Как сфокусировать элемент вкладки WPF при выборе содержимого элемента вкладки? - PullRequest
3 голосов
/ 24 ноября 2011

У меня есть приложение, пользовательский интерфейс которого состоит из элемента управления вкладками. Каждый элемент вкладки связан с моделью представления, которая имеет свойство IsFocused. Он устанавливается правильно, когда заголовок элемента вкладки получает или теряет фокус. Это работает как ожидалось. Однако я хочу, чтобы свойство IsFocused было установлено, когда содержимое элемента управления вкладкой теряет или приобретает фокус.

Мой вариант использования заключается в том, что, когда кто-то уходит от элемента вкладки (что приводит к тому, что для свойства IsFocused в модели представления устанавливается значение false), я хочу, чтобы элемент вкладки перезагружался, если он стал недействительным после восстановления этого элемента вкладки. фокус. Так что в данный момент, если я получаю фокус на элементе вкладки, нажимая на заголовок элемента вкладки и вкладка становится недействительной, я могу перезагрузить вкладку.

Однако, если я нажимаю на содержимое вкладки, то IsFocused не устанавливается и, следовательно, в коде я не могу определить, нужно ли перезагрузить вкладку, если она была признана недействительной. Содержимое элемента вкладки - это пользовательский элемент управления, содержащий все мои другие элементы управления, которые составляют содержимое моей вкладки, и я попытался привязать свойство IsFocused в пользовательском элементе управления, но, похоже, это не установлено.

Я занимаюсь этим уже несколько дней, и у меня заканчиваются идеи. Любое предложение будет с благодарностью получено.

С уважением

Mohammad

1 Ответ

3 голосов
/ 24 ноября 2011

Попробуйте этот код, приятель.

        FocusManager.SetFocusedElement(objectToBeFocused);

Менеджер фокусировки может помочь вам решить множество вопросов, связанных с фокусировкой WPF.

...