Как я могу получить текущий элемент/элемент управления в WPF из кода, который не является частью ни окна, ни пользовательского элемента управления?
Получить в данный момент элемент/элемент управления в окне WPF
Ответ 1
Это зависит от типа фокуса, который вы используете, Logical
или Keyboard
.
Фокус клавиатуры относится к элементу, который получает ввод с клавиатуры, а логическая фокусировка относится к элементу в области фокуса, который имеет фокус.
FocusManager
получает элемент с логическим фокусом в пределах заданной области фокуса, в этом случае Window (this
):
IInputElement focusedControl = FocusManager.GetFocusedElement(this);
Keyboard
вернет элемент с текущим фокусом ввода клавиатуры:
IInputElement focusedControl = Keyboard.FocusedElement;