资源说明:1.1 回顾过去 2
1.2 步入WPF 3
1.3 作为.NET Framework 的组成部分 7
1.3.1 为托管代码而设计 8
1.3.2 强调声明式描述 8
1.4 小结 9
第2 章 XAML 揭秘 10
7
2.1 XAML 定义 11
2.2 元素和特性 11
2.3 命名空间 12
2.4 属性元素 14
2.5 类型转换器 15
2.6 标记扩展 16
2.7 对象元素的子元素 18
2.7.1 内容属性 18
2.7.2 集合项 19
2.7.3 更多类型转换 20
2.8 编译:将XAML 与过程式代码
混合使用 22
2.8.1 在运行时加载和解析XAML 22
2.8.2 编译XAML 24
2.8.3 XAML 关键字 28
2.9 小结 29
2.9.1 抱怨1:XML 太过冗长不便于输入 30
2.9.2 抱怨2:基于XML 的系统性能差 30
第3 章 WPF 的重要新概念 31
3.1 逻辑树与可视树 31
3.2 依赖属性 35
3.2.1 依赖属性的实现 36
3.2.2 变更通知 38
3.2.3 属性值继承 39
3.2.4 对多个提供程序的支持 41
3.2.5 附加属性 43
8
3.3 路由事件 46
3.3.1 路由事件的实现 46
3.3.2 路由策略和事件处理程序 48
3.3.3 路由事件实践 48
3.3.4 附加事件 51
3.4 命令 53
3.4.1 内建命令 54
3.4.2 使用输入手势执行命令 57
3.4.3 带有内建命令绑定的控件 58
3.5 漫游类层次 59
3.6 小结 60
第二部分 构建WPF 应用程序
第4 章 WPF 控件 62
4.1 内容控件 63
4.1.1 按钮 63
4.1.2 简单容器 66
4.1.3 带头(header)的容器 70
4.2 Items 控件 71
4.2.1 选择器 73
4.2.2 菜单 82
4.2.3 其他Items 控件 85
4.3 Range 控件 89
4.3.1 ProgressBar 89
4.3.2 Slider 90
4.4 文本和墨水控件 90
4.4.1 TextBox 91
9
4.4.2 RichTextBox 91
4.4.3 PasswordBox 92
4.4.4 InkCanvas 92
4.5 小结 93
第5 章 尺寸缩放、定位与变换元素 94
5.1 控制尺寸 95
5.1.1 高度和宽度 95
5.1.2 Margin 和Padding 96
5.1.3 Visibility 98
5.2 控制定位 98
5.2.1 对齐 99
5.2.2 内容对齐 99
5.2.3 FlowDirection 100
5.3 应用变换 101
5.3.1 RotateTransform 102
5.3.2 ScaleTransform 103
5.3.3 SkewTransform 105
5.3.4 TranslateTransform 105
5.3.5 MatrixTransform 106
5.3.6 组合变换 106
5.4 小结 107
第6 章 使用面板做布局 108
6.1 Canvas 109
6.2 StackPanel 111
6.3 WrapPanel 112
6.4 DockPanel 114
10
6.5 Grid 116
6.5.1 改变行和列的尺寸 119
6.5.2 与GridSplitter 交互改变
尺寸 120
6.5.3 共享行和列的尺寸 122
6.5.4 Grid 与其他面板的比较 123
6.6 原始面板 124
6.6.1 TabPanel 125
6.6.2 ToolBarOverflowPanel 125
6.6.3 ToolBarTray 125
6.6.4 UniformGrid 125
6.7 处理内容溢出 126
6.7.1 剪辑 126
6.7.2 滚屏 127
6.7.3 缩放 129
6.8 把它们拼合:创建一个类似Visual Studio 的可收缩、可停靠、可改变尺寸的窗格 132
6.9 小结 141
第7 章 构建并部署应用程序 142
7.1 标准Windows 应用程序 142
7.1.1 Window 类 143
7.1.2 Application 类 145
7.1.3 创建并显示对话框 150
7.1.4 维持并恢复应用程序状态 152
7.1.5 部署:ClickOnce 与Windows Installer 153
7.2 基于导航的Windows 应用程序 154
7.2.1 Page 和它们的导航容器 154
11
7.2.2 页间导航 156
7.2.3 页间数据传递 160
7.3 拥有Windows Vista 感官的应用程序 162
7.3.1 用TaskDialog 替代
MessageBox 163
7.3.2 使用Aero Glass 165
7.4 Gadget 风格的应用程序 168
7.5 XAML 浏览器应用程序 169
7.5.1 功能限制 170
7.5.2 集成的导航功能 172
7.5.3 部署 172
7.6 松散XAML 页 175
7.7 小结 176
第三部分 为专业开发人员设计的功能
第8 章 资源 178
8.1 二进制资源 178
8.1.1 定义二进制资源 178
8.1.2 访问二进制资源 179
8.1.3 本地化 183
8.2 逻辑资源 184
8.2.1 资源查找 187
8.2.2 静态资源与动态资源 187
8.2.3 与系统资源交互 192
8.3 小结 193
第9 章 数据绑定 194
9.1 绑定对象 194
12
9.1.1 在程序代码中使用绑定 194
9.1.2 在XAML 中使用绑定 196
9.1.3 与普通.NET 属性绑定 197
9.1.4 绑定到整个对象 199
9.1.5 绑定到集合 200
9.1.6 与DataContext 共享源 203
9.2 控制呈现 204
9.2.1 使用数据模板 204
9.2.2 使用值转换器 206
9.3 定制一个集合的视图 210
9.3.1 排序 210
9.3.2 分组 212
9.3.3 过滤 214
9.3.4 导航 215
9.3.5 使用其他视图 216
9.4 数据提供程序 218
9.4.1 XmlDataProvider 218
9.4.2 ObjectDataProvider 222
9.5 高级主题 224
9.5.1 自定义数据流 224
9.5.2 向绑定添加验证规则 226
9.5.3 写你自己的验证规则 226
9.5.4 使用不相交源 228
9.6 把它们拼合:纯XAML RSS 阅读器 230
9.7 小结 232
第10 章 样式、模板、皮肤和主题 233
13
10.1 样式 234
10.1.1 共享Style 235
10.1.2 触发器 240
10.2 模板 244
10.2.1 控件模板 245
10.2.2 与触发器交互 246
10.2.3 限制目标类型 247
10.2.4 关于已应用模板的父元素的属性 248
10.2.5 关于可视状态 254
10.2.6 将模板与样式混合起来 258
10.3 皮肤 260
10.4 主题 266
10.4.1 使用系统颜色、字体和参数 266
10.4.2 每个主题的样式和模板 267
10.5 小结 270
第四部分 通过富媒体使程序领先于时代
第11 章 2D 图形 272
11.1 Drawing 273
11.1.1 Geometry 275
11.1.2 Pen 283
11.1.3 剪贴画示例 285
11.2 Visual 286
11.2.1 用内容填充DrawingVisual 286
11.2.2 在屏幕上显示Visual 289
11.2.3 可视命中测试 291
11.3 Shape 297
14
11.3.1 Rectangle 298
11.3.2 Ellipse 299
11.3.3 Line 300
11.3.4 Polyline 300
11.3.5 Polygon 301
11.3.6 Path 301
11.3.7 基于Shape 的剪贴画 302
11.4 Brush 303
11.4.1 颜色笔刷 303
11.4.2 tile 笔刷 309
11.4.3 把Brush 用作透明掩码 315
11.5 位图效果 317
11.6 小结 320
第12 章 3D 图形 321
12.1 3D 图形入门 321
12.2 Camera 和坐标系统 325
12.2.1 Position 属性 325
12.2.2 LookDirection 327
12.2.3 UpDirection 329
12.2.4 平行投影与透视投影 331
12.3 Transform3D 332
12.3.1 TranslateTransform3D 334
12.3.2 ScaleTransform3D 335
12.3.3 RotateTransform3D 337
12.3.4 Transform3D 组合 339
12.4 Model3D 340
15
12.4.1 光照(Light) 341
12.4.2 GeometryModel3D 345
12.5 Visual3D 357
12.5.1 ModelVisual3D 357
12.5.2 3D 命中测试 358
12.6 Viewport3D 元素 359
12.7 小结 362
第13 章 动画 363
13.1 程序代码中的动画 363
13.1.1 “手工”实现动画 363
13.1.2 动画类 365
13.1.3 简单的动画调整 370
13.2 XAML 中的动画 373
13.2.1 EventTrigger 包含storyboard 374
13.2.2 将Storyboard 作为Timeline 使用 379
13.3 关键帧动画 381
13.3.1 线性关键帧 382
13.3.2 样条关键帧 384
13.3.3 离散关键帧 385
13.4 小结 387
第14 章 音频、视频、语音和文档 388
14.1 音频 388
14.1.1 SoundPlayerAction 389
14.1.2 MediaPlayer 390
14.1.3 MediaElement 和MediaTimeline 390
14.2 视频 392
本源码包内暂不包含可直接显示的源代码文件,请下载源码包。