zoukankan      html  css  js  c++  java
  • WPF是什么

    1、WPF是什么?

     

    WPF 为Windows Presentation Foundation的首字母缩写 ,中文译为"Windows呈现基础" ,因与"我佩服"拼音首字母组合一样,国内有人调侃地称之为"我佩服"。WPF由 .NET Framework 3.0 开始引入,与 Windows Communication Foundation(WCF)Windows Workflow Foundation(WWF)并称为新一代 Windows操作系统以及.Net框架的三个重大应用程序开发类库。

     

    WPF是微软新一代图形系统,为用户界面、2D/3D 图形、文档和媒体提供了统一的描述和操作方法基于DirectX 技术的WPF不仅带来了前所未有的3D界面,而且其图形向量渲染引擎也大大改进了传统的2D界面,比如从Vista操作系统开始的Windows中的半透明效果的窗体等都得益于WPF。 程序员在WPF的帮助下,要开发出媲美Mac程序的炫酷界面已不再是遥不可及的奢望。 WPF相对于Windows客户端的开发来说,向前跨出了巨大的一步,它提供了超丰富的.NET UI 框架,集成了矢量图形,丰富的流动文字支持(flow text support),3D视觉效果和强大无比的控件模型框架。

     

    WPF是Windows操作系统中一次重大变革,与早期的GDI+/GDI不同。WPF是基于DirectX引擎的,支持GPU硬件加速,在不支持硬件加速时也可以使用软件绘制,提高使用者的体验,能自动识别显示器分辨率并进行缩放。WPF统一了 Windows 创建、显示和操作文档、媒体和用户界面 (UI) 的方式,使开发人员和设计人员可以创建更好的视觉效果、不同的用户体验。Windows Presentation Foundation 发布后,Windows XP、Windows Server 2003 和以后所有的 Windows操作系统版本都可以使用它。

     

    WPF 的核心是一个与分辨率无关并且基于向量的呈现引擎,旨在利用现代图形硬件的优势。WPF 通过一整套应用程序开发功能扩展了这个核心,这些功能包括可扩展应用程序标记语言 (XAML)、控件、数据绑定、布局、二维和三维图形、动画、样式、模板、文档、媒体、文本和版式。WPF 包含在 Microsoft .NET Framework 中,使您能够生成融入了 .NET Framework 类库的其他元素的应用程序。

     

    2、WPF的特点

    (1)矢量图的超强支持

    WPF兼容支持2D绘图,比如矩形、自定义路径、位图等;文字显示的增强、XPS和消锯齿;三维强大的支持,包括3D控件及事件;与2D及视频合并打造更立体效果;渐变、使用高精确的(ARGP)颜色,支持浮点类型的像素坐标。这些都远超GDI+的功能。

    (2)灵活、易扩展的动画机制

    .Net Framework 3.0及更高版本类库提供了强大的基类,只需继承就可以实现自定义程序使用绘制;接口设计非常直观,完全面向对象的对象模型,使用对象描述语言XAML,使用开发工具的可视化编辑。WPF可以使用任何一种.Net编程语言(C#,VB NET等开发语言)进行开发。XAML主要针对界面的可视化控件描述,成生进会分析成.cs或.vb文件,并最后将编译为CLR中间运行语言。

    (3)更多编程增强功能

    一个明显的增强功能就是使用标记和代码隐藏开发应用程序的功能(类似于ASP.NET动态网站程序开发)。 通常使用可扩展应用程序标记语言 (XAML) 标记实现应用程序的外观,而使用托管编程语言(代码隐藏)实现其行为。

    这种外观和行为的分离具有以下优点:

    (1)降低了开发和维护成本,因为外观特定的标记并没有与行为特定的代码紧密耦合。

    (2)开发效率更高,因为设计人员可以在开发人员实现应用程序行为的同时实现应用程序的外观。

    (3)可以使用多种设计工具实现和共享 XAML 标记,以满足应用程序开发参与者的要求;Microsoft Expression Blend 提供了适合设计人员的体验,而 Visual Studio 2012(或其他版本)针对开发人员。

    (4)WPF 应用程序的全球化和本地化得以大大简化。

    3、WPF的组成结构

    WPF由两个主要部分组成:引擎和编程框架。

     

     

     

     

     

     

     

     

     

     

     

     

    (1)WPF引擎

    WPF引擎统一了开发人员和设计人员体验文档、媒体和 UI 的方式,为基于浏览器的体验、基于窗体的应用程序、图形、视频、音频和文档提供了一个单一的运行时库。WPF使得应用程序不仅能够充分利用现代计算机中现有的图形硬件的全部功能,而且能够利用硬件将来的进步。例如,WPF基于矢量的呈现引擎使应用程序可以灵活地利用高 DPI监视器,而无需开发人员或用户进行额外的工作。 同样,当WPF检测到支持硬件加速的视频卡时,它将利用硬件加速功能。

    (2)WPF编程框架

    WPF框架为媒体、用户界面设计和文档提供的解决方案远远超过开发人员现在所拥有的。它的设计考虑了可扩展性,使开发人员可以完全在WPF引擎的基础上创建自己的控件,也可以通过对现有WPF控件进行再分类来创建自己的控件。WPF编程框架的核心是用于形状、文档、图像、视频、动画、三维以及用于放置控件和内容的面板的一系列控件。这些"自有控件"为开发下一代用户体验提供了构造块。

    1、WPF的开发环境是什么?

    1. Microsoft Expression Blend。

    Microsoft Expression Blend作为一款功能齐全的专业设计工具,可用来针对基于 Microsoft Windows 和基于 Microsoft Silverlight 1.0 的应用程序制作精美复杂的用户界面。Expression Blend 可让设计人员集中精力从事创作,而让开发人员集中精力从事编程工作。

    从2012版本开始Blend就作为独立工具就和Visual Studio一起提供,也就是说安装Visual Studio 2012版本及更新的版本时就可以同时获得Blend和Visual Studio两个工具。

    2. Microsoft Visual Studio

    Microsoft Visual Studio(简称VS)是美国微软公司的开发工具包系列产品。VS是一个基本完整的开发工具集,它包括了整个软件生命周期中所需要的大部分工具,如UML工具、代码管控工具、集成开发环境(IDE)等等。所写的目标代码适用于微软支持的所有平台,包括Microsoft Windows、Windows Mobile、Windows CE、.NET Framework、.NET Compact Framework和Microsoft Silverlight 及Windows Phone。

     

     

     

     

  • 相关阅读:
    【LeetCode】46. 全排列(回溯)
    [P2894][USACO08FEB] 酒店Hotel (线段树+懒标记下传)
    [P2680][NOIP2015T6] 运输计划 (LCA+树上差分+二分)
    静态主席树学习笔记
    [P1941][NOIP2014T3] 飞扬的小鸟 (0/1背包+完全背包)
    [P1084][NOIP2012T6] 疫情控制 (二分+贪心+LCA)
    [P3959][NOIP2017T5] 宝藏 (状压DP+DFS)
    [P2679][NOIP2015T5] 子串 (DP+滚动数组)
    [P1314][NOIP2011T5] 聪明的质检员 (二分+前缀和)
    [P1966][NOIP2013T2] 火柴排队 (求逆序对+归并排序/树状数组)
  • 原文地址:https://www.cnblogs.com/ifconfig/p/12960739.html
Copyright © 2011-2022 走看看