Silverlight简介

/  发布时间:2009-06-24 22:08:17  来源:蓝色理想 

游刃于Silverlight的技术与艺术之间,让你的Web与众不同

书 名:《Web璀璨:Silverlight应用技术完全指南》
丛书名:网站开发专家
作 者:张驰清,王均,吕玉强编著  ISBN 978-7-121-08618-2
出版社:电子工业出版社
印 次:2009年5月第1次印刷

  • 在当当网购买此书
  • 在China-Pub购买此书

内容简介

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应用程序设计人员阅读,也可作为高等院校相关专业师生的教学参考书。

前言

互联网的前端Web开发技术,在过去的十几年里经历了快速的变革。目前虽然传统的ASP、PHP、JSP等动态页面技术仍普遍应用于各种网站的开发,但随着用户对于用户体验和界面效果的要求越来越高,传统技术已不能满足具有丰富用户体验、富媒体网络应用程序的开发需要。

随着技术的发展,出现了AJAX、Flash等RIA技术,使得开发人员能创建出功能更为丰富的Web应用程序,甚至已经能够提供与桌面软件类似的用户体验。这些技术使Web应用程序能够更加动态地响应用户输入,例如,加载数据时只需要刷新界面的一部分,并不需要重新加载所有内容,从而加快了用户界面的响应,进一步改善了用户体验。

虽然AJAX与Flash等技术已经得到了广泛的普及,但依旧存在着一些不足。例如AJAX没有形成行业标准的技术规范,并且缺少功能强大的开发环境支持,过于灵活的特性使得开发人员在调试时往往很难理清头绪。而掌握Flash技术需要学习ActionScript语言并且使用新的开发环境,不能使用自己熟悉的编程语言进行开发,这对不少开发人员来说也是一个不小的门槛。

2007年,微软推出了Silverlight技术,与Flash类似,Silverlight也是一种跨浏览器、跨平台的开发技术,为网络带来具有丰富体验与交互的Web应用程序。它的显著不同在于它能用很多.NET程序员常用的语言(如C#、Visual Basic.NET、Ruby或Python)编程。对运行在Macintosh和Windows上的主流浏览器,Silverlight应用程序提供了统一而丰富的用户体验。通过Silverlight浏览器插件,使得用户界面、视频、交互性内容,以及其他各种应用能良好地融合在一起。

Silverlight还为Web应用程序开发人员和设计人员提供了一种全新的合作模式。过去,设计人员会使用设计工具来设计网站和用户体验,但在实现这些设计时,开发人员需要依照设计方案重新进行开发。而在Silverlight提供的合作模式中,设计人员可以使用专用设计工具Expression Blend构建所需的用户界面与交互,并将其表示为XAML,然后开发人员可以直接使用XAML创建Silverlight应用程序。因此,两者的合作会比以往任何时候都更加紧密,可以更快速地创建有丰富用户体验的Web应用程序,有效地缩短开发周期。

本书将立足于Silverlight技术本身,全面介绍Silverlight技术特点,配合丰富的实例讲解技术的原理和使用方法,帮助读者快速掌握开发Silverlight应用程序的方法。

预备知识

本书涉及Silverlight应用程序开发的部分,需要读者对C#编程有一定的了解,如果读者对这方面知识还不熟悉,可以先阅读相关介绍C#编程基础的书籍。

软件需求

要使用本书中的示例,需要安装以下几款软件:

  • Silverlight 2 RTM或更新版本,您可以从 http://silverlight.net 免费下载。
  • 钱柜娱乐:Windows XP或更新版本,Mac OS X或更新版本。
  • 浏览器:Internet Explorer 6.0或更新版本,Firefox 1.5或更新版本,Safari 2.0.4或更新版本。
  • 开发工具:Microsoft Visual Studio 2008 SP1 或更新版本。
  • 设计工具:Microsoft Expression Studio 2或更新版本(包含Expression Blend、Expression Design、Expression Encoder)。

目录

第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  使用DoubleAnimationUsingKeyFrames关键帧动画 126
8.3.2  使用ColorAnimationUsingKeyFrames关键帧动画 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

更多

推荐文章