BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

.NET Framework 4.7改进了WPF和WinForms

| 作者 Jeff Martin 关注 16 他的粉丝 ,译者 Rays 关注 3 他的粉丝 发布于 2017年4月14日. 估计阅读时间: 4 分钟 | QCon上海2018 关注大数据平台技术选型、搭建、系统迁移和优化的经验。

Microsoft新发布的.NET Framework 4.7中绑定了一些更新,各部分协同构成了更好的整体架构。.NET Framework 4.7是与Windows 10 Creator Update一并联合发布的,着重于对UI的提升、对加密支持改进以及常规性能提升。Microsoft的Rich Lander在宣布本次公告时指出,当前.NET Framework 4.7已支持.NET Standard 1.6,今年稍后交付的版本将会支持.NET Standard 2.0

对于运行在Windows 10 Creators Update上的Windows Forms应用,.NET Framework 4.7支持使用高分辨率(HDPI)。但是要利用新的HDPI特性,开发人员必须对应用做特殊配置,启用对HDPI的支持。启用HDPI的应用将会受益于HDPI屏幕上更好的布局、高分辨图标的使用,并会在多个不同分辨率的监视器间移动时做出适当的行为。为有针对性地改进Windows Forms,Lander希望能在GitHub上得到一些反馈意见。

可从HDPI精益化中受益的控制行为包括日历控制,ListBox控制和异常消息框。当前Windows Forms应用在加载后,会在分辨发生改变时做出响应,这要归功于下面三个新的事件:

  • Control.OnDpiChangedBeforeParent
  • Control.OnDpiChangedAfterParent
  • Form.DPIChanged

据Microsoft的Merrie McGaw介绍,采用.NET Framework 4.7的应用最终将能在Windows 7到Windows 10之间的各个版本上运行。但是使用了增强WinForms HDPI的应用要得到HDPI新特性的支持,需要运行在Windows 10 Creators Update上。

.NET Framework 4.7中添加了对WPF触屏和手写笔的支持,这将使基于WPF开发的应用受益。类似于HDPI改进,开发人员必须要在缺省的Windows Ink Service Platform(WISP)中选择启用此支持。.NET Framework 4.7提供了对应用商店崩溃的自动检测,运行在4.7上的ClickOne应用将受益于此。当发生崩溃时,无需开发人员或管理员介入,ClickOne应用将尝试自行修正问题及重新安装。

在不久的将来,Microsoft将会提供支持旧版本Windows的.NET Framework 4.7,但是并未提及何时能发布这些版本。受支持的旧版本操作系统包括Windows 7 SP1、Windows 8,以及从Windows Server 2008 R2 SP1到Windows Server 2016间的各个版本。

包括所有改进和软件缺陷修正的完整发布说明已经提供于此,其中包括了完整的细节。

查看英文原文:.NET Framework 4.7 Improves WPF and WinForms


感谢冬雨对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT