【发布时间】:2009-08-24 06:51:39
【问题描述】:
WPF 中键盘焦点和逻辑焦点有什么区别?以及 WPF 焦点与 winform 中的焦点有何不同?
【问题讨论】:
WPF 中键盘焦点和逻辑焦点有什么区别?以及 WPF 焦点与 winform 中的焦点有何不同?
【问题讨论】:
键盘焦点是指当前正在接收的元素 键盘输入。整个桌面只能有一个元素 具有键盘焦点。在 WPF 中,具有键盘焦点的元素 将 IsKeyboardFocused 设置为 true。静态属性 Keyboard 类上的 FocusedElement 获取当前的元素 有键盘焦点。
逻辑焦点是指焦点中的 FocusManager.FocusedElement 范围。焦点范围是跟踪 FocusedElement 在其范围内。当键盘焦点离开焦点时 范围,焦点元素将失去键盘焦点但将保留 逻辑重点。当键盘焦点返回焦点范围时, 聚焦元素将获得键盘焦点。这允许键盘 焦点在多个焦点范围之间改变,但确保 焦点范围内的焦点元素在焦点时重新获得键盘焦点 返回焦点范围。
【讨论】:
我发现了一系列关于 WPF 焦点的不错的博客文章。
它们都很好读,但第一部分专门处理逻辑与键盘焦点。第 3 部分展示了一种将焦点设置到 UserControl 中的 UI 元素的好方法。
【讨论】: