.NET程序员

1. WPF概述

2017-09-25  本文已影响0人  z_xm__

wpf是什么

wpf(windows presentation foundation)是用于windows的现代图形显示系统。

wpf与win32,mfc

与win32,mfc相比,wpf使用的是c#,而不是C/C++。另外主要引入 了“内置硬件加速”,“更高级的api”和“分辨率无关”等创新功能。

内置硬件加速

在wpf问世之前的15年里,windows平台的开发人员一直使用着本质相同的显示技术,主要是windows应用程序都依靠User32和GDI/GDI+来创建用户界面。尽管从win32到mfc到.net,与底层这两块交互的api变得越来越简单,更加高效,但这些底层系统组件当初在设计时的限制却是一直无法突破的。
直到后来微软推出了DirectX,经过数年的发展DirectX已经越来越强大,但DirectX具有很高的复杂性,导致少有商业软件使用DirectX开发,似乎DirectX已经成了游戏开发的专有。
而Wpf的出现彻底改变了windows平台应用开发的这种局面。wpf底层的显示技术不是GDI/GDI+,而直接是DirectX。这样不管是复杂的三维图形还是简单的几个文本,wpf都是通过DirectX管线完成绘图。即使在普通的桌面软件上也可以带来炫酷的效果。

更高级的api

wpf还引入了一整套面向开发人员的高级服务。

分辨率无关性

利用DPI(dot per inch)的概念,wpf根据系统dpi进行缩放,并不根据物理显示系统的dpi进行缩放,灵活得放大/缩小显示内容,以使其适合所用的显示器和显示选择,做到分辨率无关性。
[物理单位尺寸] = [设备无关单位尺寸] x [系统DPI]

控件无固定外观

在wpf中任何控件外观都是可以定制的,wpf只定义了控件的功能,而没有定义其“外观”

声明式用户界面

XAML的引入,让很多界面很为可以直接在xaml中定义,而不用编写C#代码。

上一篇下一篇

猜你喜欢

热点阅读