2013-10-15 7 views

ответ

86

Это зависит от типа вашего внимания после, Logical или Keyboard.

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

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

IInputElement focusedControl = FocusManager.GetFocusedElement(this); 

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

IInputElement focusedControl = Keyboard.FocusedElement; 
+1

Благодарим вас за советы. В конечном итоге я использую первый вариант с комбинацией Application.Current.Windows [0] вместо «this». – Honzajscz

+2

См. [System.Windows.Input.Keyboard.FocusedElement] (https://msdn.microsoft.com/en-us/library/system.windows.input.keyboard.focusedelement.aspx) и [System.Windows.Input. FocusManager.GetFocusedElement()] (https://msdn.microsoft.com/en-us/library/ms604088.aspx) – Lu55

Смежные вопросы