2015-07-29 5 views
0

У меня есть UserControl с только TextBox внутри него, это TextBox имеет некоторые присоединенные свойства и некоторый код позади, так как я собираюсь использовать его в нескольких Views, я создал UserControl с ним, чтобы улучшить повторного использования и обслуживания.Установить Фокус TextBox внутри UserControl

Этот TextBox используется для поиска, так что я пытаюсь установить его на фокус, когда пользователь делает Ctrl+F, это работает отлично, проблема в том, что я не могу сделать TextBox фокус, только UserControl получает целенаправленный характер.

Вопрос: Как перенаправить Focus из UserControl в TextBox внутри него?

Я уже пробовал:

protected override void OnPreviewGotKeyboardFocus(KeyboardFocusChangedEventArgs e) 
{ 
    this.TextBox.SelectAll();   
    base.OnPreviewGotKeyboardFocus(e); 
} 

и много других различных комбинаций, как изменение порядка base называется, или удалить его ... this.TextBox.Focus() вызова, который устанавливает StackOverflow ... проверка если this.TextBox.IsFocused Безразлично» t работа, это всегда false ... так ... как я могу это достичь?

+0

https://msdn.microsoft.com/en-us/library/ms604091(v=vs.110).aspx –

ответ

0

Хорошо, получил его, я изменил:

protected override void OnPreviewGotKeyboardFocus(KeyboardFocusChangedEventArgs e) 
{ 
    this.TextBox.SelectAll();   
    base.OnPreviewGotKeyboardFocus(e); 
} 

к:

protected override void OnGotKeyboardFocus(KeyboardFocusChangedEventArgs e) 
{ 
    this.TextBox.SelectAll();   
    base.OnGotKeyboardFocus(e); 
} 

Я думаю, весь RoutedEvents взаимодействия барботирования и туннелирования вмешивался.

Смежные вопросы