1. WPF概述

作者: z_xm__ | 来源:发表于2017-09-25 23:25 被阅读0次

    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还引入了一整套面向开发人员的高级服务。

    • 类似Web的布局模型
    • 丰富的绘图模型
    • 丰富的文本模型
    • 作为首要编程概念的动画
    • 支持音频和视频媒体
    • 样式和模板
    • 命令
    • 声明式用户界面
    • 基于页面的应用程序

    分辨率无关性

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

    控件无固定外观

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

    声明式用户界面

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

    相关文章

      网友评论

        本文标题:1. WPF概述

        本文链接:https://www.haomeiwen.com/subject/kpfjextx.html