WPF高级编程读书笔记(00)

学习目标:

提示:什么是WPF

目标:

  • 掌握 XAML入门知识和使用

学习时间:

提示:每天学习

学习规划:

  • 周一至周日
  • 周六上午 9 点-上午 6 点
  • 周日下午 9点-下午 6 点

学习产出:

提示:学到了什么...

Microsoft在构建WPF时遵循了以下设计原则:

  • 集成

    WPF被设计成开发应用程序的单一模型,可以通过类似的程序代码来实现动画、数据窗体以及三维模型的开发。

  • 向量图形

    WPF实现了一个向是不是图形引擎,可以在不损失图形显示质量的情况下,根据特定的显示器分辨对图形进行缩放,而这对于原来的固定大小的光栅化图形来说几乎是不可能的。WPF利用Direct3D对向量图形进行绘制,并利用支持DirectX显卡的图形处理单元(GPU)进行图形渲染。WPF实现了一个基于浮点数的逻辑像素系统,并支持32位的ARGB颜色。

  • 声明式编程

  • 简化的部署

  • 可移植文档

    与可移植文档格式(Portable Document Format, PDF)类似,XPS允许文档在多台计算机间共享,

  • WPF体系结构
    WPF体系结构包括非托管的服务、托管的子系统、WPF应用程序所需要的托管API,称为虽现架构(presentation framework)

    1. 元素系统

    元素树
    逻辑树
    可视化树

      	- 下面是为ElementTrees.Sample元素创建的一些附加元素:
      	- 1.System.Windows.Controls.Border  ——— 该控件将为相应的控件绘制一个边框和/或背景。Border控件通常用于许多使用默认属性的控件,例如System.Windows.Controls。Canvas、System.Windows.Controls.Label和System.Windows.Controls.Textbox等。
      	- 2.System.Windows.Controls.Grid —— 与HTML表格类似,Grid控件通过使用行与列为其包含的控件进行布局和配置提供了一个灵活的空间。但需要注意的是,虽然都基于行与列,但Grid控件与另一个控件Table控件是完全不同的,System.Windows.Documents.Table用于提供独立块内容。它们继续自不同的类,Grid继承自System.Windows.Controls.Panel。
      	- 3.System.Windows.Documents.AdornerDecorator——该控件用于为元素所属控件添加样式。
      	- 4.System.Windows.Documents.AdornerLayer——AdornerLayer控件代表用于渲染装饰器的表面。
      	- 5.System.Windows.Controls.ContentPresenter——该控件用于标识一个区域,该区域用于加载可视化树中特定控件的内容。ContentPresenter控件标识ElementTrees.Sample的内容将被定位在何处。
      	- System.Windows.Controls.Primitives.ResizeGrid——该控件为可视化树中的窗口添加一个可调节尺寸的网格。这样,和WPF应用程序主窗口的交互就会被ResizeGrid捕获,从而使用应用程序可以做出相应(例如,由于放大或缩小主窗口引起的在新的界面上的布局改变)
    

    注意: 尽管可以同时通过代码来访问逻辑树和可视化树,但是在开发WPF应用程序时,通常会将主要精力用于逻辑权与控件及其属性、方法和事件之间的交互上。

    2.可视化系统
    该子系统检测查应用程序内的所有组件(标签、按钮、文本、二维与三维图形、动画),并负责和底层的组织系统进行通信,以在发工资幕上生成渲染结果,大量的关键工作还是由底层的组织系统来完成。

    3.字体系统
    Windows中有两个字体引擎,即GDI与Uniscribe,这两个字体引擎都具有明显的缺陷,页不适用WPF.

    4.输入/事件系统
    WPF支持一个紧凑输入/事件系统,它为用户通过可视化树进行输入提供了流线弄的集成。

    注意: 字体系统是 一个托管组件,它运行于进程外,并通过内部进程通信直接与WPF通信,从而共享缓存中的字体数据。与字体系统进行交互的两个主要子系统是元素系统与可视化系统,

    素系统与可视化系统作用分别如下:

    • 字体系统与元素系统的页面和表格服务(Page and Table Service, PTF)交互。PTF负责在用户界面中组织和布局文本,包括图形、表格和文本。
    • 可视化系统利用字体系统实现在一条线上布局文本服务,例如紧缩、前导与音隔。

    5.属性系统
    属性系统是WPF中与核心数据相关的功能的整体。它由以下三个主要组件构成:

    • 改变通知
    • 存储
    • 表达式

    注意: Style元素为WPF控件提供了自定义样式的机制。如果使用表达式,在WPF应用程序中可以使用以下两种方法中的一种为元素应用样式:通过TargetType属性,或者通过标识并存储在Style元素的x:Key属性中的唯一样式。

    6.消息传递系统

    7.组织系统
    ***注意:***尽管WPF利用GPU实现的是基于硬件的渲染,但在硬件功能不支持的情况下,也可以退而实现基于软件的渲染。

  • XAML

    声明式与命令式

    • 布局用户界面——在一个窗体上定义并设置控件,通常在可视化设计器的辅助下完成
    • 创建绑定——将数据绑定控件与数据源相关联,数据源通常是数据库或相关的数据访问的对象
    • 处理用户交互——配置控件事件,使用户交互触发应用程序逻辑,从而对数据和/或用户界面进行操作

    1.XAML运行时支持
    小结

    • 元素系统与元素树(可视化树与逻辑树)
    • 可视化系统
    • 字体系统
    • 输入/事件系统
    • 属性系统(改变通知、存储与表达式)
    • 消息传递系统
    • 组织系统
      WPF应用程序的可视化设计工具,包括XamlPad 与 Microsoft Expression Blend
wpf编程宝典c#2010版pdf(全)上传限制分3包,共118M。本人已检查,全三十三章。 作 者:(美)麦克唐纳,王德才 译 出版社: 清华大学出版 英文名:Pro WPF IN C#2010 Windows Pressentation Foundation in .NET4 本书在亚马逊网站上深受读者好评.由微软公司的最有价值专家Matthew MacDonald倾力而作,凝聚了Matthew多年来积累的丰富实践经验,是目前最全面 的一本介绍WPF编程技术的书籍。书中不仅全面介绍了常见的图形界面编程技术,而且对WPF中非常有特色的文档和打印、音频和视频、动画、3D图形开发、多线程和插件等内容也进行了比较深入的介绍。 第1章 WPF概述   1.1 Windows图形演化   1.1.1 DirectX:新的图形引擎   1.1.2 硬件加速与WPF   1.2 WPF高级API   1.2.1 Windows窗体将继续保留   1.2.2 DirectX也将继续保留   1.2.3 Silverlight   1.3 分辨率无关性   1.3.1 WPF单位   1.3.2 系统DPI   1.3.3 位图和矢量图形   1.4 WPF体系结构   1.5 WPF4   1.5.1 新特性   1.5.2 WPF工具包   1.5.3 VisualStudio2010   1.6 小结   第2章 XAML   2.1 理解XAML   2.1.1 WPF之前的图形用户界面   2.1.2 XAML变体   2.1.3 XAML编译   2.2 XAML基础   2.2.1 XAML名称空间   2.2.2 代码隐藏类   2.3 XAML中的属性和事件   2.3.1 简单属性与类型转换器   2.3.2 复杂属性   2.3.3 标记扩展   2.3.4 附加属性   2.3.5 嵌套元素   2.3.6 特殊字符与空白   2.3.7 事件   2.3.8 完整的EightBall示例   2.4 使用其他名称空间中的类型   2.5 加载和编译XAML   2.5.1 只使用代码   2.5.2 使用代码和未经编译的XAML   2.5.3 使用代码和编译过的XAML   2.5.4 只使用XAML   2.6 XAML2009   2.6.1 自动事件连接   2.6.2 引用   2.6.3 内置类型   2.6.4 高级的对象创建   2.7 小结   第3章 布局   3.1 理解WPF中的布局   3.1.1 WPF布局原则   3.1.2 布局过程   3.1.3 布局容器   3.2 使用StaCkPanel面板进行简单布局   3.2.1 布局属性   3.2.2 对齐方式   3.2.3 边距   3.2.4 最小尺寸、最大尺寸以及显式地设置尺寸   3.2.5 Border控件   3.3 wrapPanel面板和DockPanel面板   3.3.1 wrapPanel面板   3.3.2 DockPanel面板   ……   第4章 依赖项属性   第5章 路由事件   第6章 控件   第7章 application类   第8章 元素绑定   第9章 命令   第10章 资源   第11章 样式和行为   第12章 形状、画刷和变换   第13章 几何图形和图画   第14章 效果和可视比对象   第15章 动画基础   第16章 高级动画   第17章 控件模板   第18章 自定义元素   第19章 数据绑定   第20章 格式化绑定的数据   第21章 数据视图   第22章 列表、网格和树   第23章 窗口   第24章 页面和导航   第25章 菜单、工具栏和功能区   第26章 声音和视频   第27章 3d绘图   第28章 文档   第29章 打印   第30章 与windows窗体的交互   第31章 多线程   第32章 插件模型   第33章 clickonce部署
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值