第1章 Silverlight入门 1
1.1 Silverlight简介 1
1.1.1 开发内容丰富的界面 1
1.1.2 支持跨浏览器、跨平台 3
1.1.3 强大的开发工具 3
1.1.4 丰富的基础类库与网络数据支持 4
1.2 Silverlight2的新特性 4
1.2.1 Silverlight1的特性 5
1.2.2 Silverlight2的主要新增特性 5
1.3 优秀Silverlight网站实例 6
1.3.1 WindowsVista模拟网站 6
1.3.2 HardRockmemorabilia网站 8
1.3.3 更多Silverlight技术的应用演示 10
1.4 下载并安装Silverlight 10
1.4.1 安装Silverhght客户端(Runtime) 11
1.4.2 安装VisualStudio 200811
1.4.3 安装ExpressionBlend 212
1.5 实现一个HelloWorld应用程序 13
1.6 小结 16
第2章 Silverlight开发入门 17
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 使用VisualStudio2008开发Silverlight 20
2.2.1 VisualStudio开发Silverlight的优势 20
2.2.2 Silverlight项目的文件组成 22
2.2.3 在ASPNET网站中嵌入Silverlight项目 23
2.2.4 在普通HTML页面中嵌入Silverlight项目 24
2.3 小结 26
第3章 使用ExpressionBlend. 27
3.1 初识Blend 27
3.1.1 Blend的特点 27
3.1.2 安装Blend 28
3.1.3 使用Blend新建一个Silverlight的Hellowdrld 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与VisualStudio2008协同工作 38
3.3.1 使用Blend编辑VisualStudio新建的工程 38
3.3.2 使用Blend添加事件响应 41
3.4 小结 44
第4章 Silverlight与XAML 45
4.1 什么是XAML 45
4.1.1 一个SilverlightXAML文件实例 45
4.1.2 常见XAML对象元素的种类 47
4.1.3 设置对象元素的属性 49
4.2 XAML深入研究 51
4.2.1 使用内容元素语法 52
4.2.2 使用省略集合语法 52
4.2.3 XAML内容属性值独立设置 54
4.2.4 XAML中的大小写和空白 55
4.2.5 支持类型转换的属性值 55
4.3 小结 56
第5章 形状与笔刷 57
5.1 形状 57
5.1.1 椭圆 57
5.1.2 矩形 60
5.1.3 线段 62
5.1.4 路径 64
5.1.5 多边形/连续线段 65
5.2 笔刷 66
5.2.1 使用纯色进行绘制 67
5.2.2 使用线性渐变笔刷进行绘制 69
5.2.3 渐变轴 71
5.2.4 使用径向渐变笔刷进行绘制 73
5.2.5 使用图像笔刷进行绘制 75
5.2.6 使用视频笔刷进行绘制 77
5.3 小结 77
第6章 布局对象 79
6.1 画布布局对象 80
6.1.1 在XAML中使用Canvas 80
6.1.2 在C#中使用Canvas 82
6.2 网格布局对象 83
6.2.1 在XAML中使用Grid 83
6.2.2 通过RowDefinition与ColunmDefinition动态定义Grid的行列尺寸 85
6.2.3 在C#中使用Grid 86
6.3 堆栈面板容器对象 88
6.3.1 在XAML中使用StackPanel 88
6.3.2 在C#中使用StackPanel 89
6.4 边距与对齐 90
6.4.1 在XAML中使用Alignm ent属性 91
6.4.2 在C#中使用Alignment属性 93
6.4.3 使用(边距)属性 95
6.5 Silverlight在网页中的定位 96
6.5.1 局部嵌入Silverlight 96
6.5.2 全屏显示Silvelight 97
6.6 小结 98
第7章 变换 99
7.1 位移变换 100
7.1.1 在XAML中使用TranslateTransform 100
7.1.2 在C#中使用TranslateTransform 101
7.2 旋转变换 102
7.2.1 在XAML中使用RotateTransform 102
7.2.2 在C#中使用RotateTransform 103
7.3 缩放变换 104
7.3.1 在XAML中使用ScaleTransform 104
7.3.2 在C#中使用ScaleTransform 106
7.4 扭曲变换 107
7.4.1 在XAML中使用SkewTransform 107
7.4.2 在C#中使用SkewTransform 108
7.5 变换组合 109
7.6 小结 110
第8章 动画 111
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 使用DoubleAnimationUsingKeyFrames关健帧动画 126
8.3.2 使用ColorAnimationUsingKeyFrames关键帧动画 129
8.3.3 使用PointAnimationUsingKeyFames关健帧动画 132
8.4 小结 134
第9章 事件 137
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 小一 57
第10章 控件 159
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
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 使用WindowsMedia文件编辑器创建时间线 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
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
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 使用DownloadStrngAsync方法下载数据 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章 DeepZoom 383
16.1 Deep Zoom简介 383
16.2 创建Deep Zoom应用程序 385
16.3 在Silverlight中应用DeepZoom 398
16.3.1 MultiScalelmage控件 398
16.3.2 在Silverlight中应用DeepZoom 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 使用VisualStudio2008建立项目 410
17.3.2 显示模块开发 413
17.3.3 后台模块开发 424
17.4 发布并部署项目 457
17.4.1 在操作系统中安装IIS(InternetInformationServer) 457
17.4.2 设置IIS 459
17.4.3 发布Silverlight项目 462
17.5 小结 463