Моя программа создает окно с ShowActivated=false
, чтобы оно не крало фокус клавиатуры при открытии (окно создается в ответ на события, приходящие по сети).Я хочу иметь возможность указать, что конкретное поле TextBox получает фокус, когда пользователь переключается на окно.Однако кажущиеся очевидными методы (использование FocusManager.FocusedElement
в разметке окна или вызов this.textbox.Focus()
при отображении окна) имеют побочный эффект активации окна.
В итоге я добавил обработчик события длясобытие Activated
окна, которое (a) выполняет требуемый вызов Focus()
и (b) удаляет себя из события Activated
, так что это происходит только один раз.Это кажется грубым.Я что-то упустил?