写点什么

.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:343626
用户头像

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

关注

评论

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

Webpack最佳实践

Geek_02d948

webpack

说说Nodejs高并发的原理

coder2028

node.js

可观测性之Micrometer Tracing

宋小生

全链路监控 可观测性 链路追踪 micrometer 全链路

ChatGPT完全火出圈了,你注册了吗?

Java全栈架构师

人工智能 程序员 AI 程序人生 ChatGPT

react进阶用法完全指南

xiaofeng

React

CleanMyMac2024MACOS老牌清理软件

茶色酒

CleanMyMac CleanMyMac2024

金九银十喜提offer!秋招蚂蚁金服Java研发岗四面

钟奕礼

Java 程序员 java面试 java编程

软件测试 | Github 必会高频基础命令与 IDE 的 Git 集成

测试人

GitHub 软件测试 自动化测试 测试开发

裁员名额谁来背?优秀985硕士无故被裁,劣币驱逐良币错在谁?

Java永远的神

程序员 面试 程序人生 后端 架构师

Webpack构建速度优化

Geek_02d948

webpack

细说js变量、作用域和垃圾回收

hellocoder2029

JavaScript

程序员最关心的问题,我都帮你们问AI了

大白给小白讲故事

AI写代码

【秒杀购物商城业务服务】「分布式架构服务」盘点中间件服务的高可用模式及集群技术的方案分析

码界西柚

redis高可用 MySQL 高可用 集群 12 月 PK 榜

为什么我们家里的IP都是192.168开头的?

小小怪下士

Java 后端 IP

阿里Java三面凉凉:微服务,Redis,JVM一个都搞不懂

钟奕礼

Java 程序员 java面试 java编程

react组件深度解读

xiaofeng

React

Vue响应式系统原理并实现一个双向绑定

yyds2026

Vue

Vue响应式依赖收集原理分析-vue高级必备

yyds2026

Vue

Webpack配置实战

Geek_02d948

webpack

传统大型国企云原生转型,如何解决弹性、运维和团队协同等问题?

Serverless Devs

阿里云携手百奥利盟发布云上精准医疗与创新生物药数字化解决方案,助力行业数字化转型

云布道师

阿里云

鸿蒙开发实例 | 为什么选择HarmonyOS?

TiAmo

华为 鸿蒙 华为云 12月月更

细说nodejs的path模块

coder2028

node.js

细说Js中的this

hellocoder2029

JavaScript

kubernetes 1.26发布,这十项新特性值得关注!

BoCloud博云

Kubernetes 云原生

Vue实战必会的几个技巧

yyds2026

Vue

FL Studio2024最新绿色版水果萝卜编曲软件

茶色酒

FL Studio FL Studio21 FL Studio2024

OpenHarmony社区运营报告(2022年11月)

OpenHarmony开发者

OpenHarmony

圆桌实录 | 为什么不约而同选择了大 Kernel

MegEngineBot

深度学习 开源 MegEngine 大 Kernel

【敏捷研发系列】前端DevOps流水线实践

京东科技开发者

敏捷 前端 软件开发 运维‘ #DevOps

JS知识点梳理之作用域、作用域链、柯里化、闭包

hellocoder2029

JavaScript

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