本文讲的是当我们应用失去焦点时,我们获得事件,当我们应用获得焦点,同样获得事件。同时,在应用不可以见时,我们也可以获得。

上面一张图,开始是应用启动,获得焦点,应用显示。然后我们打开另一个应用,切换,这时我们应用没有焦点。

然后我们用鼠标点击应用,我们应用获得焦点,这时显示鼠标点击获得焦点。

我们使用Alt+tab,切换出去别的软件,然后使用Alt+tab切换回,可以看到获得焦点。

然后点击任务栏,把应用最小化,这时我们的应用不显示,因为点开他就显示,我就使用字符串+这样我们的应用就可以获得失去焦点和从哪获得焦点、应用不显示。

我们应用有两个事件,一个是Window.Current.Activated一个Window.Current.VisibilityChanged,我们可以通过Window.Current.Activated来知道,我们的应用得到焦点。

UWP应用获得焦点可以使用Window.Current.Activated,事件参数有几个,WindowActivatedEventArgs eCoreWindowActivationState

  • CodeActivated

    从操作系统拿到焦点,这个就是我们使用Alt+tab,不是鼠标点击的获得焦点。我们这里,用鼠标点击任务栏打开应用,是操作系统给应用焦点。

  • PointerActivated

    鼠标点击获得焦点,用鼠标点击应用。

  • Deactivated

    没有焦点。

我用简单的字符串绑定到View,我们可以看到,我们应用失去焦点和获得焦点。


private void Current_Activated(object sender, WindowActivatedEventArgs e) { if (e.WindowActivationState == CoreWindowActivationState.CodeActivated) { ActivateReminder = "获得焦点\r\n"; } else if (e.WindowActivationState == CoreWindowActivationState.PointerActivated) { ActivateReminder = "鼠标点获得\r\n"; } else if (e.WindowActivationState == CoreWindowActivationState.Deactivated) { ActivateReminder = "没焦点\r\n"; } }

我们可以用Window.Current.VisibilityChanged获得我们应用显示,参数VisibilityChangedEventArgs e如果e.Visible==true就是显示。

我们把应用最小化,应用就会不显示。

参见:http://grogansoft.com/blog/?p=1269


本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接:http://blog.csdn.net/lindexi_gd ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请与我联系

最新文章

  1. Spark相关错误汇总
  2. C语言获得文件一行
  3. HTML学习笔记——块级标签、行级标签、图片标签
  4. 【python】os模块
  5. 修改bigbluebutton白板上传中文乱码
  6. 顺序表的基本操作(C)
  7. 学Java,是自学还是去培训班学习?
  8. 北京师范大学校赛C
  9. 【Python】 用户图形界面GUI wxpython I 基本用法和组件
  10. .NET Core微服务之基于Ocelot+Butterfly实现分布式追踪
  11. nuxt.js实战之window和document对象的使用
  12. redis加固
  13. time模块 转换关系图
  14. swift 学习- 18 -- 自动引用计数
  15. C++中 string 的用法大全
  16. Scala map与flatMap
  17. photoshop使用笔记-制作古代印章
  18. 洛谷 P1054 等价表达式 解题报告
  19. OSINT系列:威胁信息挖掘ThreatMiner
  20. 防止SQL注入的6个要点

热门文章

  1. 201521123061 《Java程序设计》第七周学习总结
  2. 201521123017 《Java程序设计》第10周学习总结
  3. Java第九周学习总结
  4. JavaSE集合(十)之Map
  5. 纳税服务系统【统计图Fusionchart】
  6. Extjs整合CKEditor富文本编辑器插件
  7. Struts2-在js中使用struts2标签
  8. Activiti-04-.Spring integration
  9. 在vue中let var 和const 区别
  10. angular学习笔记02 angular指令大全