WPF中的键盘焦点和逻辑焦点有什么区别?以及WPF焦点与winform的重点有何不同?
答案 0 :(得分:22)
键盘焦点是指当前正在接收的元素 键盘输入。整个桌面上只能有一个元素 有键盘焦点。在WPF中,具有键盘焦点的元素 将IsKeyboardFocused设置为true。静态属性 Keyboard类上的FocusedElement获取当前的元素 有键盘焦点。
逻辑焦点是指焦点中的FocusManager.FocusedElement 范围。焦点范围是跟踪记录的元素 FocusedElement在其范围内。当键盘焦点离开焦点时 范围,聚焦元素将失去键盘焦点但将保留 逻辑焦点。当键盘焦点返回到焦点范围时, 聚焦元素将获得键盘焦点。这允许键盘 重点是在多个焦点范围之间进行更改,但要确保 焦点范围内的聚焦元素在聚焦时重新获得键盘焦点 返回焦点范围。
答案 1 :(得分:7)
我发现了一系列关于WPF焦点的博客文章。
它们都很好阅读,但第一部分专门处理逻辑与键盘焦点。第3部分显示了将焦点设置为UserControl中的UI元素的好方法。