Существует пользовательский элемент управления UserControl, который содержит TextBox
. Как мне сфокусироваться на текстовом поле, когда отображается UserControl? Я пытался вызвать TextBox.Focus
на UserControl.IsVisibleChanged
и TextBox.IsVisibleChanged
, но это не помогло. Что еще я могу попробовать?
Кажется, что-то заставляет TextBox
потерять фокус. Подход, который я упомянул, обычно работает. Как я могу узнать, что приводит к потере фокусировки TextBox
? Я попытался прослушать событие TextBox.LostFocus
, но его параметры не содержат много ценной информации, и я также не вижу предыдущих методов в трассировке стека.
код:
void TextBox1_IsVisibleChanged(object sender, DependencyPropertyChangedEventArgs e)
{
if (this.TextBox1.IsVisible)
this.TextBox1.Focus();
}
Как я уже говорил, это работает, если я использую один и тот же код в похожем сценарии в тестовом проекте, но не работает в моем приложении (приложение большое, и я в основном исправляю в нем ошибки, и этот среди них). Поэтому я думаю, что проблема не в том, что фокус установлен неправильно (как я думал, когда открывал этот вопрос), я думаю, что проблема в том, что что-то еще сбрасывает фокус. Я пытаюсь найти, что это здесь: Узнайте, почему текстовое поле потеряло фокус .