2009-08-24 172 views

回答

21

看到Focus Overview

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

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

6

我发现了一系列关于WPF焦点的博文。

  1. Part1ItsBasicallyFocus

  2. Part2ChangingWPFFocusInCode

  3. Part3ShiftingFocusToTheFirstAvailableElementInWPF

他们都是很好的阅读,但第1部分与逻辑VS键盘焦点专门处理。第三部分展示了一种将焦点设置到UserControl中的UI元素的好方法。

+2

这些文章已移动,目前可以在: http://julmar.com/blog/mark/?p=52 http://julmar.com/blog/mark/?p=51 http ://julmar.com/blog/mark/?p = 50 – mtlynch 2011-08-18 01:09:53

+1

仅链接答案容易受到链接腐烂的影响。 – ANeves 2017-09-21 14:57:35