Узнайте, почему текстовое поле потеряло фокус

#wpf #events #focus

#wpf #Мероприятия #фокус

Вопрос:

Текстовое поле теряет фокус, и я не знаю почему. Как я могу узнать причину потери фокуса? Я пытался прослушать событие TextBox.LostFocus, но его параметры, похоже, не дают мне никакой ценной информации о причине.

Ответ №1:

Вы можете попробовать Snoop — инструмент, который прослушивает все события в вашем приложении.

Вы также можете попробовать отладить свое приложение с помощью Visual Studio, установить точку останова в обработчике событий TextBox.LostFocus и проверить стек вызовов, где вы можете увидеть, какой метод вызвал потерю фокуса.

Комментарии:

1. Потрясающий инструмент! Я исправил свою проблему с помощью этого.

Ответ №2:

Я думаю, что оно теряет фокус, потому что что-то другое отвлекает внимание

Вы можете использовать FocusManager , чтобы узнать, какой элемент управления в настоящее время находится в фокусе. Например, следующая строка кода вернет элемент управления, содержащий фокус для MainWindow

 FocusManager.GetFocusedElement(Application.Current.MainWindow);