标题：Web璀璨——Silverlight应用技术完全指南
图书信息
Web璀璨——Silverlight应用技术完全指南 (网站开发专家)
作　　者： 张驰清，王均，吕玉强　编著
出 版 社： 电子工业出版社
出版时间： 2009-6-1  图书封面字　　数： 版　　次： 1 页　　数： 463 印刷时间： 开　　本： 16开 印　　次： 纸　　张： I S B N ： 9787121086182 包　　装： 平装 定价：￥46.00
编辑推荐
游刃于Silverlight的技术与艺术之间，让你的Web与众不同。
微软亚洲研究院3位研究员诚意推荐：
这是我迄今读到的对Silverlight 2．0介绍最全面、最细腻的入门书。说到全面，本书涵盖了Silvelight 2．0开发常用的实战技巧，比如界面的构造、动画、事件、数据的获取和绑定等，也涵盖了相对高级的技巧，如Deep Zoom、样式和模板等。说到细腻，该书不仅仅对每个技术进行细致描述，并总结了该技术在互联网中各种流行的应用，更通过详细的代码和开发步骤进行了深入讲解。
——侯智涛
Silverlight给开发人员和设计人员开阔了新的空间，它能够实现更自然顺畅的交互方式，提供给用户更多一致的、增强的体验。该书详尽生动地介绍了Silver Light这项技术，并辅以典型例子来教读者如何灵活应用。对于初学者，相信通过这本书能够快速地掌握相关技术并在实践中精通它。
——王敏
“师傅领进门，修行在个人”，而恰恰入门是最难的，初学时因为缺少感觉，经常是书上看得懂，想动手却写不出来，所以好的入门教程极为重要。对于初学者而言，本书的优点很突出，作者精通SiIverlight，同时也深知初学者的难点，因而对于各个技术点的讲述也是恰如其分。建议看完一部分，试着动手写一些例子来提升感觉。
——曾凤萍
主要知识点：
·Silverlight技术体系架构项目开发环境xAML语法
·Expression Blend使用技巧图形绘制Silverlight布局机制 
·形状变换制作动画事件机制内建控件的使用方法音/视频播放。
·数据绑定机制样式与模板创建自定义控件使用独立存储LINQ查询语句
·处理XML和JSON数据使用WCF ASMX服务访问服务器Deep Zoom技术
内容简介
Silverlight是微软最新的Web用户界面技术，能够跨浏览器、跨平台运行。借助该技术可以创建丰富用户体验的富互联网应用（Rich Internet Application，简称RIA）。Silverlight使用XAML来创建用户界面元素，比如图形、渐变、动画等，另外Silverlight通过C#或Visual Basic编写程序逻辑，控制呈现形式。 
全书以循序渐进的方式，全方位介绍Silverlight中的各项技术特性，包括基础的Silverlight技术体系架构、项目开发环境、XAML语法、Expression Blend使用技巧、图形绘制、Silverlight布局机制、形状变换、制作动画、事件机制、内建控件的使用方法、音/视频播放、数据绑定机制、样式与模板、创建自定义控件、使用独立存储、LINQ查询语句、处理XML和JSON数据、使用WCF、ASMX服务访问服务器、DeepZoom技术等。在介绍技术特性的同时，本书还配有丰富的实例和大量截图，通过这些基础的实例和直观的截图，可以帮助读者快速掌握开发技巧。
相信读者可以通过本书的学习，掌握Silverlight的开发技巧，并将其应用到自己的Web开发工作中。本书适合Web应用程序开发人员和RIA应用程序设计人员阅读，也可作为高等院校相关专业师生的教学参考书。
第1章  Silverlight入门... 1
介绍了Silverlight的概况，并介绍了Silverlight 2中新增的特性与优秀的Silverlight实例网站，最后使用一个实例详细演示了如何制作一个Silverlight Hello world程序。
1.1  Silverlight简介... 1
1.1.1  开发内容丰富的界面... 1
1.1.2  支持跨浏览器、跨平台... 3
1.1.3  强大的开发工具... 3
1.1.4  丰富的基础类库与网络数据支持... 4
1.2  Silverlight 2的新特性... 4
1.2.1  Silverlight 1的特性... 5
1.2.2  Silverlight 2的主要新增特性... 5
1.3  优秀Silverlight网站实例... 6
1.3.1  Windows Vista模拟网站... 6
1.3.2  Hard Rock memorabilia网站... 8
1.3.3  更多Silverlight技术的应用演示... 10
1.4  下载并安装Silverlight 10
1.4.1  安装Silverlight客户端（Runtime）... 11
1.4.2  安装Visual Studio 2008. 11
1.4.3  安装Expression Blend 2. 12
1.5  实现一个Hello World应用程序... 13
1.6  小结... 16
第2章  Silverlight开发入门... 17
介绍了Silverlight的技术体系架构及各组成部分的详细特性，分析了一个典型的Silverlight的工程是由哪些文件组成的，最后介绍了将Silverlight嵌入到ASP.NET与HTML网页中的方法。
2.1  Silverlight的技术体系架构... 17
2.1.1  Silverlight技术体系介绍.. 17
2.1.2  Silverlight .NET框架.. 18
2.1.3  核心展现框架.. 19
2.1.4  其他Silverlight开发特性.. 19
2.2  使用Visual Studio 2008开发Silverlight 20
2.2.1  Visual Studio开发Silverlight的
优势... 20
2.2.2  Silverlight项目的文件组成... 22
2.2.3  在ASP.NET网站中嵌入
Silverlight项目... 23
2.2.4  在普通HTML页面中嵌入
Silverlight项目... 24
2.3  小结... 26
第3章  使用Expression Blend.. 27
介绍了Blend的特点与安装方法，详细介绍了Blend软件的整体布局及各个面板的功能，最后通过另一个实例演示了Blend是如何与Visual Studio协同工作的。
3.1  初识Blend. 27
3.1.1  Blend的特点... 27
3.1.2  安装Blend. 28
3.1.3  使用Blend新建一个
Silverlight的Hello World. 28
3.2  Blend工作环境介绍... 30
3.2.1  工具箱... 31
3.2.2  控件库... 31
3.2.3  工作区... 32
3.2.4  对象与时间轴面板... 33
3.2.5  状态面板... 34
3.2.6  项目选项卡... 34
3.2.7  属性选项卡... 35
3.2.8  资源选项卡... 36
3.2.9  编译结果面板... 36
3.2.10  设置Blend工作环境... 36
3.3  Blend与Visual Studio 2008协同工作... 38
3.3.1  使用Blend编辑Visual Studio
新建的工程... 38
3.3.2  使用Blend添加事件响应... 41
3.4  小结... 44
第4章  Silverlight与XAML.. 45
介绍了可扩展应用程序标记语言XAML的基本概念、语法。
4.1  什么是XAML. 45
4.1.1  一个Silverlight XAML文件实例... 45
4.1.2  常见XAML对象元素的种类... 47
4.1.3  设置对象元素的属性... 49
4.2  XAML深入研究... 51
4.2.1  使用内容元素（content element）
语法... 52
4.2.2  使用省略集合语法... 52
4.2.3  XAML内容属性值独立设置... 54
4.2.4  XAML中的大小写和空白... 55
4.2.5  支持类型转换的属性值... 55
4.3  小结... 56
第5章  形状与笔刷... 57
介绍了绘制形状、应用笔刷创建效果的方法，并且分别讨论了以XAML和C# 绘制形状及应用笔刷的方法。
5.1  形状（Shape）... 57
5.1.1  椭圆（Ellipse）... 57
5.1.2  矩形（Rectangle）... 60
5.1.3  线段（Line）... 62
5.1.4  路径（Path）... 64
5.1.5  多边形（Polygon）/ 连续
线段（Polyline）... 65
5.2  笔刷（Brush）... 66
5.2.1  使用纯色（Solid Colors）进行绘制... 67
5.2.2  使用线性渐变笔刷（Linear 
Gradients）进行绘制... 69
5.2.3  渐变轴（Gradient Axis）... 71
5.2.4  使用径向渐变笔刷（Radial 
Gradients）进行绘制... 73
5.2.5  使用图像笔刷（ImageBrush）
进行绘制... 75
5.2.6  使用视频笔刷（VideoBrush）
进行绘制... 77
5.3  小结... 77
第6章  布局对象... 79
介绍如何在Silverlight中使用布局对象控制对象元素（如形状、文本、图像等）的位置，还介绍了如何控制Silverlight应用程序在HTML等网页中的定位。
6.1  画布（Canvas）布局对象... 80
6.1.1  在XAML中使用Canvas. 80
6.1.2  在C#中使用Canvas. 82
6.2  网格（Grid）布局对象... 83
6.2.1  在XAML中使用Grid. 83
6.2.2  通过RowDefinition与
ColumnDefinition动态定义
Grid的行列尺寸... 85
6.2.3  在C#中使用Grid. 86
6.3  堆栈面板（StackPanel）容器对象... 88
6.3.1  在XAML中使用StackPanel 88
6.3.2  在C#中使用StackPanel 89
6.4  边距与对齐... 90
6.4.1  在XAML中使用Alignment属性... 91
6.4.2  在C#中使用Alignment属性... 93
6.4.3  使用Margin（边距）属性... 95
6.5  Silverlight在网页中的定位... 96
6.5.1  局部嵌入Silverlight 96
6.5.2  全屏显示Silvelight 97
6.6  小结... 98
第7章  变换... 99
讨论了使用变换类为对象设置形变的方法。
7.1  位移变换（TranslateTransform）... 100
7.1.1  在XAML中使用
TranslateTransform.. 100
7.1.2  在C#中使用TranslateTransform.. 101
7.2  旋转变换（RotateTransform）... 102
7.2.1  在XAML中使用RotateTransform.. 102
7.2.2  在C# 中使用RotateTransform.. 103
7.3  缩放变换（ScaleTransform）... 104
7.3.1  在XAML中使用ScaleTransform.. 104
7.3.2  在C#中使用ScaleTransform.. 106
7.4  扭曲变换（SkewTransform）... 107
7.4.1  在XAML中使用
SkewTransform.. 107
7.4.2  在C# 中使用SkewTransform.. 108
7.5  变换组合（TransformGroup）... 109
7.6  小结... 110
第8章  动画... 111
详细介绍Silverlight关键帧动画系统，以及如何控制动画的播放。
8.1  动画实例：使椭圆淡入或淡出... 111
8.1.1  在Blend中创建故事板与动画... 111
8.1.2  在XAML中直接编辑
故事板与动画... 114
8.1.3  为故事板添加响应事件... 115
8.2  Silverlight动画介绍... 118
8.2.1  常规动画类的公共属性.. 118
8.2.2  使用DoubleAnimation动画... 119
8.2.3  使用ColorAnimation动画... 121
8.2.4  使用PointAnimation动画... 123
8.3  使用Silverlight关键帧动画... 126
8.3.1  使用DoubleAnimationUsing
KeyFrames关键帧动画... 126
8.3.2  使用ColorAnimationUsing
KeyFrames关键帧动画... 129
8.3.3  使用PointAnimationUsing
KeyFrames关键帧动画... 132
8.4  小结... 134
第9章  事件... 137
讨论Silverlight中的事件机制，以鼠标事件和键盘事件为例，介绍如何处理事件，以及如何为控件创建自定义的事件。
9.1  事件概述... 137
9.1.1  添加事件响应的方式... 138
9.1.2  使用事件数据... 139
9.1.3  在托管代码中移除事件响应... 140
9.2  鼠标事件响应... 142
9.2.1  常用鼠标事件... 142
9.2.2  鼠标事件数据... 142
9.2.3  事件的路由... 144
9.2.4  实例：拖放效果的实现... 148
9.3  键盘事件响应... 153
9.3.1  常用的键盘事件... 153
9.3.2  使用键盘事件的参数... 154
9.3.3  键盘事件示例... 154
9.4  小结... 157
第10章  控件... 159
逐一介绍了Silverlight内建的控件的使用方法，讨论了这些控件的常用属性和常用事件的使用方法，最后介绍了如何创建用户控件，并为用户控件添加自定义属性和事件。
10.1  控件使用简介... 160
10.1.1  创建控件... 160
10.1.2  设置控件属性... 160
10.1.3  给控件添加事件响应... 163
10.2  内建控件的使用... 164
10.2.1  TextBlock（文本）控件... 164
10.2.2  TextBox（文本框）控件... 171
10.2.3  Button（按钮）控件... 172
10.2.4  HyperlinkButton（超链接
按钮）控件... 174
10.2.5  RepeatButton（重复按钮）控件... 175
10.2.6  CheckBox（复选框）控件... 176
10.2.7  RadioButton（单选按钮）控件... 179
10.2.8  Slider（滑块）控件... 180
10.2.9  ScrollBar（滚动条）控件... 182
10.2.10  ComboBox控件... 184
10.2.11  TabControl（选项卡）控件... 185
10.2.12  ListBox（列表）控件... 187
10.2.13  Calendar（日历）控件... 189
10.2.14  DatePicker（日期选择）控件... 193
10.2.15  DataGrid（数据表格）控件... 194
10.2.16  Popup（弹出框）控件... 204
10.2.17  ToolTip（提示工具）控件... 210
10.2.18  ProgressBar（进度条）控件... 213
10.2.19  PasswordBox（密码框）控件... 213
10.3  用户控件... 214
10.3.1  创建用户控件... 214
10.3.2  定制控件外观... 216
10.3.3  用户控件属性... 217
10.3.4  用户控件事件... 218
10.3.5  使用用户控件... 220
10.4  小结... 222
第11章  多媒体... 223
探讨了Silverlight中对多媒体的支持，以及如何创建一个视频播放器控制视频数据的播放，此外还介绍了如何使用Microsoft Expression Encoder创建多媒体数据。
11.1  最简单的Silverlight多媒体应用程序... 223
11.2  MediaElement对象... 224
11.2.1  MediaElement的属性和方法... 224
11.2.2  支持的多媒体文件格式... 225
11.2.3  音量控制... 226
11.2.4  对左/右声道的控制... 229
11.2.5  控制MediaElement对象... 231
11.3  时间线... 234
11.3.1  使用Windows Media文
件编辑器创建时间线... 234
11.3.2  使用Expression Encoder
创建时间线... 234
11.3.3  动态创建时间线标记... 239
11.4  创建播放器常见的问题... 241
11.4.1  播放进度显示及拖曳... 242
11.4.2  播放列表... 245
11.4.3  全屏显示... 246
11.4.4  为多媒体文件加入载入进度... 248
11.5  播放器综合实例... 251
11.5.1  控制面板... 252
11.5.2  完整的播放器代码... 256
11.6  小结... 268
第12章  数据绑定... 269
数据绑定，介绍数据绑定的概念，使用数据绑定的方法和场景，如何绑定到集合数据源，如何在数据绑定中使用值转换，以及如何对数据进行校验。
12.1  数据绑定概述... 269
12.2  创建数据绑定... 270
12.2.1  在XAML中创建数据绑定... 270
12.2.2  在代码中创建数据绑定... 276
12.2.3  数据绑定模式... 277
12.2.4  通知更新... 278
12.3  绑定到集合... 283
12.3.1  使用ObservableCollection. 283
12.3.2  使用数据模板控制呈现... 287
12.3.3  实现主从关系视图... 290
12.4  使用值转换器... 294
12.5  数据的校验... 296
12.6  小结... 300
第13章  样式与模板... 301
介绍了如何使用样式定制控件的外观，同时探讨了样式的应用域，讲解了模板的概念及模板中的状态管理，介绍了如何定义模板中的状态，以及状态间的过渡，如何使用模板改变控件的外观和状态间的过渡。
13.1  样式（Style）... 301
13.1.1  使用样式... 301
13.1.2  样式的应用域... 305
13.1.3  使用Blend创建样式... 306
13.2  模板（Template）... 308
13.2.1  使用模板... 309
13.2.2  状态管理... 311
13.2.3  模板绑定（TemplateBinding）... 319
13.3  小结... 326
第14章  高级开发技巧... 327
探讨使用独立存储IsolatedStorage保存应用程序数据和创建自定义控件等高级开发技巧。
14.1  自定义控件... 327
14.1.1  创建自定义控件... 327
14.1.2  自定义依赖属性... 333
14.2  独立存储IsolatedStorage. 337
14.2.1  使用独立存储... 338
14.2.2  增加配额... 342
14.3  小结... 343
第15章  访问数据与服务器... 345
介绍了使用Silverlight与服务器端通信时经常使用的数据格式，这些格式包括XML、JSON等，以及它们序列化和反序列化的方法，接下来还介绍了Silverlight所支持的Web通信服务，这些服务包括WebClient、ASMX服务、WCF服务等，以及如何使用这些服务实现客户端与服务器端之间的数据交换。
15.1  使用LINQ.. 345
15.2  使用XML数据... 349
15.2.1  使用XmlReader解析XML
数据流... 349
15.2.2  使用LINQ解析XML数据... 353
15.3  使用JSON.. 356
15.3.1  将对象序列化JSON字符串... 357
15.3.2  将JSON字符串反序列化
为对象... 359
15.4  使用WebClient 360
15.4.1  使用DownloadStringAsync
方法下载数据... 361
15.4.2  使用OpenReadAsync
方法下载数据... 365
15.5  使用ASMX服务... 368
15.5.1  创建ASMX服务... 368
15.5.2  访问ASMX服务... 373
15.6  使用WCF服务... 375
15.6.1  创建WCF服务... 375
15.6.2  访问WCF服务... 379
15.7  小结... 382
第16章  Deep Zoom... 383
介绍了Deep Zoom的技术特点，介绍如何使用Deep Zoom Composer创建一个含有Deep Zoom效果的Silverlight应用程序，同时探讨了DeepZoom效果中的关键类MultiScaleImage的常用属性和常用方法。
16.1  Deep Zoom简介... 383
16.2  创建Deep Zoom应用程序... 385
16.3  在Silverlight中应用Deep Zoom.. 398
16.3.1  MultiScaleImage控件... 398
16.3.2  在Silverlight中应用
Deep Zoom.. 398
16.4  小结... 402
第17章  综合实例... 403
以目前流行的网上商店为例，综合利用前面各章节讲述的内容，介绍如何建立一个简单的在线商店系统。
17.1  开发前的准备... 403
17.1.1  开发环境... 403
17.1.2  网上商店体系结构... 404
17.1.3  网上商店系统功能描述... 405
17.2  系统设计... 407
17.2.1  界面设计... 407
17.2.2  实体设计... 409
17.3  系统开发... 409
17.3.1  使用Visual Studio 
2008建立项目... 410
17.3.2  显示模块开发... 413
17.3.3  后台模块开发... 424
17.4  发布并部署项目... 457
17.4.1  在操作系统中安装IIS
（Internet Information Server）... 457
17.4.2  设置IIS. 459
17.4.3  发布Silverlight项目... 462
17.5  小结... 463
书摘插图
第1章 Silverlight入门 
Silverlight是微软公司推出的基于.NET平台的一种跨浏览器、跨平台技术，主要用于在网络和移动设备平台上创建并发布具有丰富交互功能的下一代多媒体应用程序。Silverlight是一种功能强大表现层技术，能够结合音频、视频、动画、美观的用户界面等特点，开发出界面丰富、有创意、并且容易使用的网络应用程序，能够给用户带来全新的使用体验。
本章将带领读者快速了解Silverlight的概况，介绍Silverlight 2.0中新增的特性与优秀的Silverlight实例网站，最后详细演示如何制作一个Silverlight Hello World程序。
1.1 Silverlight简介
Silverlight是一种新的Web呈现技术，能在各种平台上运行。借助该技术，你将拥有内容丰富、视觉效果绚丽的交互式体验。而且，无论是在浏览器内、在多个设备上还是在桌面操系统(如Apple Macintosh)中，你都可以获得这种体验。Miciosoft.NET Framework 3.0/3.5中的呈现技术XAML（可扩展应用程序标记语言）遵循wPF(Windows PresentationFoundation)，它是Silverlight呈现功能的基础。
1.1.1　开发内容丰富的界面
Silverlight最吸引开发者的地方，就是能方便快捷地开发出具有良好用户体验的应用程序。我们先来看几个Silverlight应用。图1—1展示了一个完全使用Silverlight开发的俄罗斯方块游戏，除了使用流畅、界面美观大方外，还具有成绩上传的功能。
……