专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > WPF

怎么移动逻辑焦点、键盘焦点

发布时间:2011-06-23 13:52:47 文章来源:www.iduyao.cn 采编人员:星星草
如何移动逻辑焦点、键盘焦点

在 WPF 中,有两个与焦点有关的主要概念:键盘焦点和逻辑焦点。 键盘焦点指接收键盘输入的元素,而逻辑焦点指焦点范围中具有焦点的元素。 本概述将详细介绍这些概念。 理解这些概念之间的区别对于创建具有可以获取焦点的多个区域的复杂应用程序是非常重要的。’  摘自 Microsoft MSDN 焦点概述

一直以来,我写的项目都有键盘焦点的问题,比如 Click 了一个 Button 以后出现下次按回车还会触发 Click ,还有就是 TextBox 输入完成后想把键盘焦点转移到其他非 TextBox 输入框的控件上。

后面在解决这个问题的过程中看到一篇在 stackoverflow 上的提问,发现了可以使用 Keyboard 和 FocusManager 来移动焦点。

C#:

 1 private void Focus(bool value)
 2 {
 3     if (value)
 4         Dispatcher.BeginInvoke(DispatcherPriority.Input,new Action(delegate ()
 5         {
 6             Keyboard.ClearFocus();               //清空键盘焦点
 7             FocusManager.SetFocusedElement(this, null);  //将逻辑焦点移动主窗体
 8             Keyboard.Focus(this);               //将键盘焦点已到主窗体
 9         }));
10 }

 

引用

https://msdn.microsoft.com/zh-cn/library/aa969768(v=vs.110).aspx

友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: