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

时间:2009-08-24 06:51:40

标签: .net wpf .net-3.5 focus

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

2 个答案:

答案 0 :(得分:22)

请参阅Focus Overview

  

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

     

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

答案 1 :(得分:7)

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

  1. Part1ItsBasicallyFocus

  2. Part2ChangingWPFFocusInCode

  3. Part3ShiftingFocusToTheFirstAvailableElementInWPF

  4. 它们都很好阅读,但第一部分专门处理逻辑与键盘焦点。第3部分显示了将焦点设置为UserControl中的UI元素的好方法。