Как правильно настроить фокус в UserControl?

каково правильное значение свойства Focusable в UserControl, если внутри у вас есть один элемент управления (например, TextBox)?

Все примеры, которые я видел, касались случая, когда у вас есть несколько элементов управления, обернутых внутри пользовательского элемента управления.

Очевидно, я хочу, чтобы TextBox имел фокус, но не сам UserControl. Как мне правильно настроить Focusable и что еще я должен учитывать в этом случае?

Спасибо!


person aKzenT    schedule 29.06.2012    source источник
comment
Что именно не работает должным образом? Когда я создаю один TextBox и делаю из него UserControl, я могу установить для Focusable TextBox значение true, а для Focusable UserControl значение false, и, похоже, это работает вполне нормально. Я могу сфокусировать TextBox, а не UserControl.   -  person marc wellman    schedule 29.06.2012
comment
Я не говорю, что это не работает, просто пытаюсь выяснить, как правильно это сделать. У меня были некоторые проблемы с событием GotFocus, которое не всплывало и не проверяло все. Просто любопытно, какие рекомендуемые настройки в этом случае.   -  person aKzenT    schedule 29.06.2012


Ответы (1)


Если я вас правильно понял, вы хотите знать, как правильно сообщить WPF, что он не должен позволять фокусу переходить на UserControl.

Например, если вы пролистываете UserControl, содержащую TextBox, он будет переключаться между самим UserControl и элементом управления TextBox внутри него, а не просто переходить к TextBox.

Чтобы предотвратить получение фокуса UserControl, вы должны установить IsTabStop на False

<UserControl IsTabStop="False" ... />
person Rachel    schedule 29.06.2012
comment
Вы уверены? Согласно вашей ссылке: «Это установка поведения для дочерних элементов элемента, для которого установлено это свойство». - person LPL; 29.06.2012
comment
@LPL Ой, неправильное свойство. Одну секунду, я обновлю свой ответ. Спасибо за это :) - person Rachel; 29.06.2012