wpf linux 开发教程 pdf,深入浅出WPF

说中的入门者必读,既然是入门者,当然我选择了《深入浅出WPF》这本书...

WPF是微软未来的发展趋势,自WIN7以来包括前不久发布的WIN8,核心还是WPF,在此,将自己的学习成果做一个总结,同时将自己学习积累的东西和广大博友分享,希望大家能共同进步。在文章的结尾我会将全系列的源代码地址提供给大家,有需要的朋友可以下载下来自己研究研究。

什么是WPF?为什么要学习WPF?

WPF 是Windows Presentation Foundation的简称,顾名思义是专门用来写程序表示层的技术和工具。

为什么要学习WPF?

许多朋友也许会问:既然表示层技术那么多,为什么还要推出WPF作为表示层技术呢?我们话精力学习WPF有什么收益和好处呢,这个问题我们从两个方面进行回答。

首先,只要开发表示层程序就不可避免的要和4种功能性代码打交道,他们分别是:

数据模型:现实世界中事物和逻辑的抽象。

业务逻辑:据模型之间的关系和交互。

用户界面:由控件构成,于用户进行交互的界面,用于把数据展示给用户并响应用户输入。

界面逻辑,控件与控制之间的的关系和交互。

WPF的功能?

WPF的功能是用来编写应用程序的表示层,至于业务逻辑层和数据层也有专门的新技术,比如业务逻辑层的新技术WCF(Windows Communication Foundation)和WF(Windows Workflow Foundation)。微软用于表示层开发的技术不算少,包括WPF,Windows Forms,ASP.NET,Silveright等。换句话说,无论使用哪种技术做为表示层技术,程序的逻辑层和数据层都是相同的。

WPF和Silveright的关系

目前,.NET开发人员学习WPF回报是非常高的,原因是在微软整个新一代开发框架都能看到它的影子,微软新一代开发技术框架包括Windows Presentation Foundation(WPF),Windows Communication Foundation(WCF),Windows Workflow Foundation(WF),在后续的文章中我们会专注于将WPF,而WCF的用途是编写分布式应用程序的业务逻辑层,并以网络服务的形式暴露给客户端的服务消费者,基于WCF和Entity Framework的WCF Data Service和WCF RIA Service是微软迄今最佳的数据访问层,而这一数据的最佳消费者就是WPF和Silveright,所以学习WPF技术会给WCF的学习锦上添花。WF的主要作用是设计工作流,而设计工作流的编程语言正是WPF中界面编程语言----XMAL,学习完WPF,WF也就会了一小半。

如果说学习完WPF完成以后就学会了一小半的WF,那么学习完WPF以后,Silveright也就学会了80%,为什么这么说呢?因为微软原本定义Silveright是WPF的子集,是WPF的"网络版"(Silveright的开发代号为WPF/E,意为WPF简化版)。为了让WPF的浏览器跑出来,微软所做的事情就是在技术原理不变的情况下对WPF进行瘦身------去掉一些不常用的功能,简化一些功能的实现,对多组实现同一目的类库进行删减,只保留一组,在添加一些网络通信功能,通过以下这张表,可以看到Silveright和WPF的技术重叠率之高:

wpf linux 开发教程 pdf,深入浅出WPF_第1张图片

如今Silveright炙手可热的另一个原因是微软上一代手机平台Windows Phone 7也采用它来作为开发平台(此前的Windows Mobile使用的简化版的Windows Form作为开发平台)。WIndows Phone7中运行Silveright与浏览器中运行Silveright别无二致,因此学习完WPF之后,手机平台上的程序也会写了。当然,Window Phone8将继续支持这项技术。

深入浅出WPF 目录:

序言

1. 什么是WPF

2. 为什么要学习WPF

第一章 XAML概览

1. XAML是什么?

2. XAML有哪些优点

第二章 从零起步认识XAML

1. 新建WPF项目

2. 剖析最简单的XAML代码

第三章 系统学习XAML语法

1. XAML文档的树形结构

2. XAML中为对象属性赋值的语法

2.1 使用标签的Attribute为对象属性赋值

2.2 使用TypeConverter

2.3 属性元素

2.4 标记扩展(Markup Extensions)

3. 事件处理器与代码后置

4. 导入程序集和引用其中的名称空间

5. XAML的注释

第四章 x名称空间详解

1. x名称空间里都有什么

2. x名称空间中的Attribute

2.1 x:Class

2.2 x: ClassModifier

2.3 x: Name

2.4 x:FieldModifier

2.5 x:Key

2.6 x:Shared

3. x名称空间中的标记扩展

3.1 x:Type

3.2 x:Null

3.3 标记扩展实例的两种声明语法

3.4 x:Array

3.5 x:Static

4. XAML指令元素

第五章 控件与布局

1. 控件到底是什么

2. WPF的内容模型

2.1 内容与内容属性

3. 各类内容模型详解

3.1 ContentControl族

3.2 HeaderedContentControl族

3.3 ItemsControl族

3.4 HeaderedItemsControl族

3.5 Decorator族

3.6 TextBlock和TextBox

3.7 Shape族元素

3.8 Panel族元素

4. UI布局(Layout)

4.1 布局元素

4.2 Grid

4.3 StackPanel

4.4 Canvas

4.5 DockPanel

4.6 WrapPanel

第六章 深入浅出话Binding

1. Data Binding在WPF中的地位

2. Binding基础

3. Binding的源与路径

3.1 把控件作为Binding源与Binding标记扩展

3.2 控制Binding的方向及数据更新

3.3 Binding的路径(Path)

3.4 “没有Path”的Binding

3.5 为Binding指定源(Source)的几种方法

3.6 省略Source的Binding

3.7 使用集合对象作数据源

3.8 使用使用ADO.NET对象作为Binding的源

3.9 使用使用XML数据作为Binding的源

3.10 使用使用LINQ检索结果作为数据源

3.11 使用ObjectDataProvider

3.12 使用Binding的RelativeSource

4. Binding对数据的转换与校验

4.1 Binding的数据校验

4.2 Binding的数据转换

5. MultiBinding(多路Binding)

第七章 深入浅话属性

1. 属性(Property)的来龙去脉

2. 依赖属性(Dependency Property)

2.1 依赖属性对内存的使用方式

2.2 声明和使用依赖属性

2.3 依赖属性值存取的秘密

3. 附加属性(Attached Properties)

第八章 深入浅出话事件

1. 近观WPF的树形结构

2. 事件的来龙去脉

3. 深入浅出路由事件

3.1 使用WPF内置路由事件

3.2 自定义路由事件

3.3 Source与OriginalSource

3.4 事件也附加——深入浅出附加事件

第九章 深入浅出话命令

1. 命令系统的基本元素与关系

1.1 命令系统的基本元素

1.2 基本元素之间的关系

1.3 小试命令

1.4 WPF的命令库

1.5 命令参数

1.6 命令与Binding的结合

2. 近观命令

2.1 ICommand接口与RoutedCommand

2.2 自定义Command

第十章 深入浅出话资源

1. WPF对象级资源的定义与查找

2. 且“静”且“动”用资源

3. 向程序添加二进制资源

4. 使用Pack URI路径访问二进制资源

第十一章 深入浅出话模板

1. 模板的内涵

2. 数据的外衣DataTemplate

3. 控件的外衣ControlTemplate

3.1 庖丁解牛看控件

3.2 ItemsControl的PanelTemplate

4. DataTemplate与ControlTemplate的关系与应用

4.1 DataTemplate与ControlTemplate的关系

4.2 DataTemplate与ControlTemplate的应用

4.3 寻找失落的控件

5. 深入浅出话Style

5.1 Style中的Setter

5.2 Style中的Trigger

第十二章 绘图和动画

1. WPF绘图

1.1 绘制图形

2. 图形的效果与滤镜

2.1 简单易用的BitmapEffect

2.2 丰富多彩的Effect

3. 图形的变形

3.1 呈现变形

3.2 布局变形

4. 动画

4.1 简单独立动画

4.2 场景

4.3 综合实例资源

你可能感兴趣的:(wpf,linux,开发教程,pdf)