Подтвердить что ты не робот

Получить в данный момент элемент/элемент управления в окне WPF

Как я могу получить текущий элемент/элемент управления в WPF из кода, который не является частью ни окна, ни пользовательского элемента управления?

4b9b3361

Ответ 1

Это зависит от типа фокуса, который вы используете, Logical или Keyboard.

Фокус клавиатуры относится к элементу, который получает ввод с клавиатуры, а логическая фокусировка относится к элементу в области фокуса, который имеет фокус.

FocusManager получает элемент с логическим фокусом в пределах заданной области фокуса, в этом случае Window (this):

IInputElement focusedControl = FocusManager.GetFocusedElement(this);

Keyboard вернет элемент с текущим фокусом ввода клавиатуры:

IInputElement focusedControl =  Keyboard.FocusedElement;