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

书 名:《Web璀璨:Silverlight应用技术完全指南》 丛书名:网站开发专家 作 者:张驰清,王均,吕玉强编著 ISBN 978-7-121-08618-2 出版社:电子工业出版社 印 次:2009年5月第1次印刷
内容简介:
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
本文链接:http://www.blueidea.com/news/book/2009/6815.asp
出处:蓝色理想
责任编辑:bluehearts
|