2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

.NET 4.6 中的 WPF

  • 2015-04-28
  • 本文字数:921 字

    阅读完需:约 3 分钟

尽管“WPF 已死”的谣言甚嚣尘上,但微软却并没有停止 WPF 开发的脚步。在.NET 4.6 及未来版本的 WPF 中一共有四个主要的发展方向:

  • 性能
  • 与 DirectX 的集成
  • 支持现代硬件
  • 工具

在具体谈到这四个方面之前,先让我们谈谈关于支持的问题。微软之前曾经多次在没有经过充分调研的情况下,武断地关闭了一些关于 WPF 及其它类库的 bug 报告,更不要说修复它们了。这种态度招致了大量的指责。而作为 4.6 版本路线图中的一部分,微软将重新打开在 Connect 中所记录的、投票数达到或超过 10 的所有 bug。虽然这种做法无法弥补之前的过失,但至少表现出微软已经开始认真地对待社区的反馈声音了。

从长期的计划来看,对.NET 4.5.2 中的 WPF 的支持将一直持续到 2024 年。究其原因,是因为.NET 以及 WPF 被看作是一种操作系统组件,因此它们也自动获得了与操作系统相同的支持周期。

触摸的支持

对触摸的支持改进主要专注于可靠性与性能等方面,尤其是在 UI 线程处于忙碌状态的情况下。对于多点触摸的事件报告也应当做到更加可靠。

滚动与虚拟化

WPF 的基础特色之一在于它可以对某个列表中的控件进行虚拟化。从理论上说,这种方式可以允许在列表中包含超过 1 万个列表项。而在实际中,有一系列的原因会造成虚拟化的失败。其中之一在于过多的布局循环造成的系统悬挂,而在 WPF 4.6 中有望解决这一问题。

透明的子窗体

在 Windows 8 中新增了将子窗体标注为透明的功能,这一行为也加入到 WPF 的功能中。要实现这一点,需要在某个清单文件中注明该应用将使用 Windows 8 中的特性。如果该应用程序运行在 Windows 7 机器上,虽然不会抛出任何异常,但子窗体无法显示为透明状态。

高 DPI 问题

WPF 现在已经理解支持多种分辨率的光标文件了。在加载某个光标文件时,你需要将使用 DPI 用于比例尺(scale)这一参数设置为“true”,以使这一特性生效。之前,你可以使用某个临时方案以解决这一限制,即手动检测 DPI,并加载正确的光标图片。

另一个高 DPI 问题与在例如组合框等控件中背景的绘制方式有关。其中的 bug 会造成边框被切等现象,但虽然这个 bug 本身与所使用的 DPI 无关,但只有在高 DPI 的情况下这个 bug 才会显现出来。

明天我们将继续讨论 WPF 的长期计划,包括 WPF 应用本地化。

查看英文原文: WPF in .NET 4.6

2015-04-28 07:343817
用户头像

发布了 428 篇内容, 共 197.8 次阅读, 收获喜欢 39 次。

关注

评论

发布
暂无评论
发现更多内容

垃圾代码和优质代码的区别?

xcbeyond

Java 优化代码 3月日更

二十张图让你一分钟全面学习数仓建设之路

初学大数据

大数据 数据仓库

一个PHPer的Golang之路

万俊峰Kevin

php 微服务 Go 语言

android开发教程!写给安卓软件工程师的3条建议,一线互联网公司面经总结

欢喜学安卓

android 程序员 面试 移动开发

手写的第一个 Java 应用程序,执行的时候发生了什么?

白色蜗牛

Java

《精通比特币》学习笔记(第六章)

棉花糖

区块链 学习 3月日更

如何使用jsDelivr+Github 实现免费CDN加速?

xiezhr

CDN jsDelivr CDN CDN加速 jsDeliver

波场环球系统开发|波场环球软件APP开发

系统开发

带你轻松理解数据结构之Map

蛙人

JavaScript 大前端

CloudQuery v1.3.4 版本更新

BinTools图尔兹

oracle 运维 编辑器 sql 数据库管理工具

成为你向往的那只独角兽 - 《独角兽项目》出版在即

京东科技开发者

DevOps

DDR4看这一篇就够了

Kevin Z

超震撼数据可视化工具

不脱发的程序猿

大数据 数据分析 数据可视化 28天写作 3月日更

美团优选大数据开发岗面试真题-附答案详细解析

五分钟学大数据

大数据 面试 28天写作 3月日更

Webpack 基石 tapable 揭秘

vivo互联网技术

大前端 webpack 流程管理 tapable

uni-app 和 flutter 的区别

anyRTC开发者

flutter uni-app WebRTC 跨平台

【LeetCode】基本计算器Java题解

Albert

算法 LeetCode 28天写作 3月日更

android开发板!Android开发你需要了解的那些事,大牛最佳总结

欢喜学安卓

android 程序员 面试 移动开发

密码学系列之:内容嗅探

程序那些事

加密解密 密码学 程序那些事 内容嗅探

Markdown中的图标为什么不是图片却可以以图片方式显示

happlyfox

28天写作 3月日更

寻找被遗忘的勇气(十)

Changing Lin

3月日更

区块链赋能农产品溯源,农产品质量安全追溯

13530558032

一杯茶的功夫,上手Redis持久化机制

老崔说架构

redis 缓存 aof

电子产品如何使用IAP方式升级程序

不脱发的程序猿

嵌入式 iap 28天写作 3月日更 产品升级

在CentOS上安装MySQL,并使用DataGrip远程管理

pyfn2030

centos SSH MySQ datagrip

大作业(一)

cc

熬夜重构了IDEA插件Toolkit(整合程序员常用的工具箱),更加便捷

Silently9527

Java 程序员 idea插件

翻云覆雨——前景理论之隔离效应

Justin

心理学 28天写作 游戏设计

智慧组工党建系统-数字赋能组织工作

13530558032

一文读懂Apache Flume概念、使用和原理

大数据技术指南

大数据 28天写作 3月日更

所见即搜,3分钟教你搭建一个服装搜索系统!

华为云开发者联盟

框架 深度学习框架 mindspore Jina 服装搜索系统

.NET 4.6中的WPF_语言 & 开发_Jonathan Allen_InfoQ精选文章