В чем разница с фокусом клавиатуры и логическим фокусом в WPF? и как фокус WPF отличается от фокуса в winform?
Фокус фокуса клавиатуры и логический фокус в WPF
Ответ 1
см. Обзор фокуса
Фокус клавиатуры относится к элементу, который в настоящее время принимает ввод клавиатуры. На рабочем столе может быть только один элемент который имеет фокус клавиатуры. В WPF элемент, который имеет фокус клавиатуры будет установлено значение IsKeyboardFocused равным true. Статическое свойство FocusedElement в классе Keyboard получает элемент, который в настоящее время имеет фокус клавиатуры.
Логическая фокусировка относится к FocusManager.FocusedElement в фокусе объем. Область фокусировки - это элемент, который отслеживает FocusedElement в своем объеме. Когда фокус фокуса фокуса scope, сфокусированный элемент потеряет фокус клавиатуры, но сохранит логический фокус. Когда фокус клавиатуры возвращается в область фокусировки, сфокусированный элемент получит фокус клавиатуры. Это позволяет использовать клавиатуру фокус должен быть изменен между несколькими областями фокусировки, но гарантирует, что сфокусированный элемент в области фокусировки восстанавливает фокус клавиатуры при фокусировке возвращается в область фокуса.
Ответ 2
Я нашел хорошую серию сообщений в блоге в фокусе WPF.
Все они хороши для чтения, но в первой части речь идет о логическом и клавиатурном фокусе. Третья часть показывает хороший способ установки фокуса на элемент пользовательского интерфейса в UserControl.