简单分析WPF是什么

开发 开发工具
在这篇文章中,我们会为大家详细介绍一下WPF是什么,具体功能的实现,以及和其他图形界面显示技术相比有什么突出的性能。

WPF是什么?对于一个不是长时间接触开发的人来说可能不太了解这一词汇。WPF被很多中国开发人员戏称为“我佩服”。它确实是一个功能比较强大的图形界面处理工具。#t#

先让我们来回顾一下微软的各种界面显示技术:

User32:它提供了最基本的Windows界面,包括按钮,编辑框和其他UI元素。但是,User32缺乏的是图形图像的绘制功能,无法对屏幕实现自定义的绘制。

GDI (Graphics device interface):- 为了提供图形图像的绘制功能,微软在User32的基础上引入了GDI。GDI不仅提供了图形图像的绘制功能,同时还对硬件显示进行了更高层次的抽象。换句话说,它将硬件的复杂性封装在了GDI API中,用户使用起来更加方便。

GDI+:顾名思义,GDI+是作为GDI的扩展而被引入到Windows中的。它提供了很多GDI所没有的扩展功能,例如对JPG和PNG图像格式支持,渐变阴影和抗锯齿等。无论是GDI还是GDI+,它们最大的局限就是不支持硬件加速,同时无法展现动画和3D图像。

提示:所谓硬件加速,就是使用硬件来执行某些功能,以替代使用软件在CPU中执行的某些功能,因为直接使用硬件,这样可以显著地加快图形图像处理的速度。

DirectX :正如我们在上面所分析的那样,GDI及其扩展GDI+的一个最大问题就是不支持硬件加速和动画。这对于游戏开发者来说,是无法接受的。为了解决这个问题,微软开发了DirectX。DirectX能够很好的利用硬件加速,能够支持3D,全彩图像,流媒体等等,非常适合游戏工业等对图形图像处理要求比较高的领域。

那么WPF是什么呢?

微软已经有了这么多套关于显示技术的API,为什么还要多此一举,创建另外一套显示技术的API呢?通过对硬件加速的支持,DirectX已经有了很多非常棒的特性。微软想利用支持硬件加速的DirectX技术来开发UI元素,比如文本框,按钮,网格等等,所以他们又在DirectX的基础上开发了WPF。因为WPF是在DirectX的基础上实现的,所以你不仅可以利用WPF创建简单的UI元素,还可以更进一步,开发特殊的UI元素,例如网格(Grid),流文档(FlowDocument)和椭圆(Ellipse)等。

更进一步地,你还可以利用WPF创建动画。如果你在寻找用于创建轻量级动画(不是游戏中所使用的那种复杂三维动画)的技术方案,WPF将是一个不错的选择。你可以使用被称为XAML的XML文件来表现WPF。

 WPF是什么,简单的讲,WPF就是DirectX之上的一层包装。所以,我们可以这样定义WPF:

WPF是一套用于简便地构建动态用户界面的类的集合。这些类包括了一套新的界面控件。其中有些控件跟旧有的UI元素是相似的,例如标签,文本框和按钮等,而另外一些控件则是全新的,例如,网格(Grid),流文档(FlowDocument)和椭圆(Ellipse)等。

责任编辑:曹凯 来源: IT168
相关推荐

2009-09-10 17:53:50

LINQ是什么

2010-09-08 17:35:31

协议栈是什么

2010-06-21 15:49:59

Linux apt是什

2022-03-29 14:49:14

大数据数据分析

2009-12-25 16:05:24

WPF 4.0特点

2015-02-28 11:36:01

FDD

2009-12-25 09:34:50

WPF显示HTML

2009-12-24 13:31:25

WPF UI设计

2015-07-23 09:20:19

mmap

2009-12-25 16:45:57

WPF竞争

2009-12-25 15:21:00

WPF构建前台

2009-12-28 16:37:46

WPF异步模式

2023-05-04 11:39:17

经营分析流量项目

2009-12-24 10:04:31

WPF右键菜单

2022-03-31 11:38:09

经营分析传统企业运营商

2022-08-02 11:29:17

数据分析场景RFM

2009-12-25 15:00:48

WPF软件

2017-03-21 23:29:44

DevOps运维开发

2017-02-06 14:12:29

大数据数据分析基本思想

2019-01-24 15:50:06

区块链数字货币比特币
点赞
收藏

51CTO技术栈公众号