zoukankan      html  css  js  c++  java
  • WPF之旅(一)- 概述

    WPF与之前出现的其他技术相比引入了“内置硬件加速”和“分辨率无关”等创新功能。WPF是一种成熟的技术,它是几个已经发布的.NET平台的一部分,并通过几个版本不断地进行完善(WPF3.0 -> WPF3.5 -> WPF3.5 SP1-> WPF4 -> WPF4.5)。

    Windows图形演化

    传统的Windows应用程序都依靠Windows操作系统提供的两个部分来创建界面:

    1. User32:该部分为许多元素(如窗口,按钮和文本框)提供熟悉的Windows外观。

    2. GDI/GDI++:渲染简单形状,文本及图像提供绘画支持,但通常性能较差。

    WPF引入到Windows编程领域中的一些重要变化

    1. 类似Web的布局模型:流式布局。

    2. 丰富的绘图模型:直接处理图元-基本形状,文本及其他图形元素。

    3. 丰富的文本模型:文本,列表和浮动的图形及其他用户界面元素。

    4. 作为首要编程概念的动画:声明式标签定义动画,WPF会自动让他们动起来。

    5. 支持音频和视频媒体:支持播放任何Windows媒体播放器支持的音视频,允许集成视频工具。

    6. 样式和模板:显示格式标准化。

    7. 命令:通过代码抽象,定义应用程序命令并将其链接到多个控件上。

    8. 声明式用户界面:XAML

    9. 基于页面的应用程序:创建类似浏览器的应用程序。

    WPF体系结构

     

    下面我们来逐一讲解上图一些重要组件:

    1. PresentationFramework.dll:包含WPF顶层的类型,包括那些表示窗口、面板以及其他类型控件的类型。

    2. PresentationCore.dll:包含基础类型,如UIElement类和Visual类,所有形状和控件都继承自这两个类。

    3. WindowsBase.dll:包含更多基本要素如DispatcherObject类和DependencyObject类,这两个类引入了依赖项属性。

    4. micore.dll:WPF的渲染核心

    5. Direct3D:一套低级API,WPF应用程序中所有图形都由他进行渲染。

    6. User32:用于决定哪些实际程序占有桌面的哪一部分。

    参考书目

    WPF编程宝典-使用C#2012和.NET 4.5

    WPF体系架构:http://msdn.microsoft.com/zh-cn/library/ms750441(v=vs.110).aspx

    本人最近开始学习WPF以及DevExpress,藉此提升自己C/S架构编程的能力。在学习过程会有一些心得体会,于是便会写一些博客来记录这些想法,有兴趣的朋友可以和我一起交流学习。那么就让我们从这里开始WPF与DevExpress的旅程吧!

    QQ群: 32745894,欢迎大家加入讨论!

    博客地址: http://www.cnblogs.com/zhq3051/

  • 相关阅读:
    使用Windbg调试.Net应用程序 [转]
    jquery的$.extend和$.fn.extend作用及区别
    java获取ip
    在IDEA中使用MyBatis Generator逆向工程生成代码
    github结合TortoiseGit使用sshkey,无需输入账号和密码
    Mapped Statements collection does not contain value for com.xxxx.dao.impl.AreaDAOImpl.findByCode
    idea设置tomcat虚拟路径的两种方法
    spring MVC中传递的参数对象中包含list的情况
    PowerDsigner 16逆向工程导入mysql
    [C++]Qt文本操作(按行读写)
  • 原文地址:https://www.cnblogs.com/zhq3051/p/4125433.html
Copyright © 2011-2022 走看看