WPF中的键盘焦点 vs 逻辑焦点

24

在WPF中,键盘焦点和逻辑焦点有什么区别?WPF的焦点与winform中的焦点有何不同?

2个回答

27

请参阅关于焦点的概述

键盘焦点指当前正在接收键盘输入的元素。整个桌面上只能有一个具有键盘焦点的元素。在WPF中,具有键盘焦点的元素将具有IsKeyboardFocused属性设置为true。键盘类上的静态属性FocusedElement获取当前具有键盘焦点的元素。

逻辑焦点是指焦点范围内的FocusManager.FocusedElement。焦点范围是跟踪其范围内FocusedElement的元素。当键盘焦点离开焦点范围时,聚焦元素将失去键盘焦点但保留逻辑焦点。当键盘焦点返回到焦点范围时,聚焦元素将获得键盘焦点。这允许在多个焦点范围之间更改键盘焦点,但确保在焦点返回到焦点范围时,焦点范围内的聚焦元素会重新获得键盘焦点。


那么,什么时候使用逻辑焦点? - huang
你什么意思是什么时候使用? - Arsen Mkrtchyan
何时应该使用它。 - huang
当窗口没有焦点时,逻辑焦点仍然留在最后一个具有焦点的元素上。 - Arsen Mkrtchyan
有什么用处? - huang

10

3
这些文章已经移动,目前可以在以下链接找到: http://julmar.com/blog/mark/?p=52 http://julmar.com/blog/mark/?p=51 http://julmar.com/blog/mark/?p=50 - mtlynch
8
仅包含链接的回答容易遭受链接失效的风险。 - ANeves
所有的链接都已损坏。 - Travis
作者必须已经删除了那些帖子。 - Ashley Davis
2
我修复了链接。 - Drew Noakes

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接