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