首页 > Linux操作系统 > Linux操作系统 > Silverlight 揭秘
Silverlight 揭秘
查看其它详细信息:http://www.china-pub.com/209250
【原 书 名】 Silverlight 1.0 Unleashed
【原出版社】 Sams
【作 者】(美)Adam Nathan
【译 者】 瞿杰
【丛 书 名】 图灵程序设计丛书
【出 版 社】 人民邮电出版社 【书 号】 9787115185525
【出版日期】 2008 年11月 【开 本】 16开 【页 码】 226 【版 次】1-1
市场价:¥55.00 pub价:¥41.25
【编辑推荐】
微软核心开发人员力作,Amazon超级畅销书.
从这里,开始探秘精彩的RIA开发世界..
放飞Silverlight,赋予你超越梦想的能力...
【内容简介】
本书涵盖了Silverlight XAML 的方方面面,深入探讨了Silverlight 的特性,如图形、文字、音频、视频、动画和事件等,也讲述了如何使用构建块创建可重用的控件,执行普通的任务(如拖放),并解释了如何下载资源以增强用户体验,说明了如何创建混合使用Silverlight 和HTML/Flash 内容的应用程序。.
本书适合所有Web 开发人员阅读。
Silverlight是微软公司开发的全新RIA(富因特网应用)解决方案,它依托.NET平台,集微软众多技术精华于一身,提供跨浏览器、跨平台支持,一经问世,就吸引了全世界开发者和设计师的目光。..
本书出自微软核心开发人员和广受赞誉的优秀技术作家Adam Nathan之手,许多内容来自微软公司内部的第一手资料,是公认的权威之作。书中沿袭了《WPF揭秘》一书的创新性写作风格,通过极具参考价值的代码和许多专家提示,通俗明快而又深入实用地讲述了Silverlight的各项关键技术。全书采用全彩印刷,代码示例和程序效果都原样重现,为我们展示了Silverlight的无穷魅力。...
【媒体评论】
“我从这本书里学到太多东西……作者对Silverlight技术的热情洋溢在字里行间……毫无疑问,这是Silverlight的第一书。”
——Ken Cox,微软ASP.NET MVP,ASP.NET 3.5 For Dummies一书作者.
“在逐页啃过微软文档和其他Silverlight图书之后,我必须说,本书是最棒的。它给出了更加贴近实战的例子,而且常常能够发人所未发。有一个困扰我数周的动画问题,书中仅用10行代码就搞定了,佩服啊!”
——Amazon.com评论...
【前言】
首先感谢你购买本书!.
Silverlight 正在改变很多人对于设计及开发网站或Web 应用程序的看法,本书将帮助你掌握Silverlight 所具有的每一种特性。Silverlight 使得创建富网页内容或富网页应用程序变得比以前任何时候都要简单。由于使用Silverlight 不需要任何昂贵的开发及设计工具,因此学习Silverlight 对于编程爱好者或专业人士都是一种不错的选择,你可以用它来创建引人注目的软件。
随着Silverlight 的发布,市面上出现了一批关于这一技术的新书。但是我并不清楚这些Silverlight 图书能否很好地帮助人们理解这项技术,同时在实践中探索这项技术。因此,我写本书有以下几个目标。
以一种实用和易懂的方式讲解基础概念,让读者打好扎实的基础。
解决大多数人在学习这项技术时都会遇到的问题,并演示如何实现一些常用的任务。
使本书成为权威的参考资料,这得感谢那些来自于Silverlight 团队的成员,是他们设计、实现和测试了这项技术。
讲清这项技术的缺点,而不是鼓吹这项技术能解决所有问题。
使本书成为参考指南,以便你可以经常翻阅本书。
我希望本书实现了以上所有目标。
读者对象
本书适合那些喜欢创建漂亮的基于Web 的内容、应用程序或控件的软件开发人员和设计人员阅读。书中包含了许多帮助你最有效地使用Silverlight 的内容,无论你是否拥有其他的技术经验。即使你已经对Silverlight 十分熟悉,我仍然可以很自信地告诉你,你仍然可以从本书中学到一些东西。有一点是肯定的,它应该是你书架上不可或缺的参考书。
现在让我们来概括一下本书的特点。
涵盖了Silverlight 中你必须了解的有关XAML(Extensible Application Markup Language) 的所有内容。
以令人难以置信的深度讲解Silverlight 特性:图形、文本、音频、视频、动画、墨水和事件等。
演示如何创建可复用的控件,以及如何通过基本的组件实现一些常见任务(例如拖放)。
讲解如何异步下载数据来改善用户体验。
演示如何创建混合应用程序——将HTML或Flash内容与Silverlight内容结合。
在讲解如何用当前版本实现你想要的结果时,突出Silverlight以后版本的特点。
本书的示例是用XAML 、HTML 和JavaScript. 编写的。你不需要为理解本书而熟悉这些语言。
由于本书是基于1.0 版本的,所以它将清晰地讲解在Silverlight 的第一个版本中你能做什么以及不能做什么。如果你想深入学习Silverlight 以后版本中的特性,《WPF 揭秘》是一本不错的参考书(因为以后版本中的特性与WPF 的一些特性很相似)。
软件需求
要使用本书中的示例,必须安装以下3 款软件。
Silverlight 1.0 或更新版本,你可以从www.silverlight.net 免费下载。
Silverlight 支持的操作系统。1.0 版本支持Windows XP 或更新版本的Windows 操作系统(也包括Windows 非IA64 服务器版本)和Mac OS X 10.4.8 或Mac OS 更新版本(Pow-erPC 或Intel 版本都可以),Silverlight 的以后版本中还会支持其他操作系统(例如,下一个版本将支持Windows 2000)。注意,Silverlight 的以后版本中的.NET 特性将仅支持Intel 版本的Mac,但1.0 中的所有特性既支持Intel 版本的Mac,也支持PowerPC 版本的Mac 。
Silverlight 支持的浏览器。1.0版本支持IE 6 或更新版本、Firefox 1.5 或更新版本和Safari 2.0.4 或更新版本(仅在Mac OSX 支持),在Silverlight 以后版本中还会支持其他Web 浏览器。..
如果你想在Linux 的系统上运行这些示例,可以使用Moonlight——Novell 的基于Linux 的开源Silverlight 实现。开发人员打算(在写作本书的时候还没实现)让Moonlight 在所有Linux 的版本中运行,支持Firefox 、Opera 和Konqueror 浏览器。
虽然许多Silverlight 开发可以通过简单的文本编辑器完成,但你可以用下面推荐的软件来提高开发效率。
开发人员可以使用Microsoft Visual Studio 2008 或以后的版本,你可以从http://msdn.microsoft.com 下载Express 免费版本(也可以使用Visual Studio 2005,但是它的JavaScript. 编辑器不够强大,而它的XAML 编辑器需要另外下载——.NET Framework 3.0 开发扩展组件可从MSDN 获得)。
设计人员可以使用Microsoft Expression Studio 。这套软件中的Expression Blend 专门设计用来创建基于XAML 的用户界面(Expression Blend 支持Silverlight 和WPF),甚至创建动画。Expression Encoder 将在第10 章中讲解,可以创建基于Silverlight 的绚丽的、可交互的音频和视频内容。
代码示例
本书中的示例的源代码可以从www.informit.com/title/9780672330070 或www.adamnathan. net/silverlight 下载。
本书结构
本书分成3个部分:
第一部分 基础
第1章启程
第2章XAML
第二部分 创建静态内容
第3章形状、直线和曲线
第4章文本
第5章笔刷与图像
第6章定位元素及变换元素
第三部分 让内容复活
第7章响应输入事件
第8章按需下载内容
第9章动画
第10章音频和视频
前两章讲解基础。第1章主要讲解把Silverlight 内容放入网页的方式,以及如何与HTML 进行交互。第2章深入探索XAML,为你理解本书中的和实践中的XAML 文件打下基础。
第二部分涵盖了Silverlight可以显示的各种静态内容,不仅仅包括文本和图像,也包括复杂的基于向量的内容。第6章展示了如何用多种方式来排列内容、改变内容的尺寸以及变换多个内容。
最后一部分讲解如何让你的静态内容变得生动。第7章对于开发人员尤为重要,因为有了Silverlight输入事件就可以创建可交互的应用程序。第8章演示了如何尽可能改善下载大内容时的用户体验,并可以在下载它的同时显示一个漂亮的进度指示条。有了动画、音频和视频(将在第9章和第10章中讲解),你就可以创建绚烂的内容和应用程序了。
本书约定
本书中不同的字体代表不同的术语和特殊项。这些字体包括:
字体 含义
楷体 当第一次提及一个新术语或者词时,我将使用楷体,有时也为了强调使用楷体
等宽字体 在屏幕提示信息、代码清单、命令示例和文件名中使用等宽字体在代码清单中,斜体的等宽字体用于占位文本(placeholder text) 代码清单是彩色的,与Visuat Studio 中的高亮文本很相似。蓝色的等宽字体(blue monospace type) 表示XML 及JavaScript. 关键字;棕色的等宽字体(brown monospace type) 表示XML元素名称及JavaScript. 字符串;绿色的等宽字体(green monospace type) 表示注释;红色的等宽字体(red monospace type)表示XML特性
在整本书中,你会找到以下帮助栏。
“常见问题”帮助栏中通常是读者在阅读本书的某个内容时想问的问题,它将告诉你问题的准确答案。
“深入挖掘”帮助栏中通常是高级的或者比上下文更详细的关于这个主题的信息。如果你对某个主题比较感兴趣,可以仔细阅读深入挖掘的内容,但是如果没有兴趣,可以忽略。
“提示”是一些可以在实战中帮助你的信息。它们通常会提供一些捷径或者替代方法使得任务更加简单、快速地完成或者产生更好的结果。
“注意”会警告你一些动作或者条件,这些动作或条件会引起不该出现的或不可预测的结果,它还会告诉你如何避免产生这样的结果。
“期待”帮助栏会讨论Silverlight以后版本计划包括的功能。...
【译者序】
对于很多人来说,Silverlight 可能还是个新名词,相比之下,WPF(Windows Presentation Foundation)则会更熟悉些。实际上,Silverlight 可以说是WPF 的Web 应用版,它是微软推出的一款希望能与Adobe 公司的Flash Player 相媲美的产品。本书讲解的是Silverlight 1.0 版本, 必须承认的是,这个产品还无法与Flash Player 直接抗衡,但它是微软在一个全新领域即RIA
(Rich Internet Application,富因特网应用程序)中的大胆尝试。目前微软正在开发Silverlight 的新版本,这个版本的Silverlight 将全面支持使用.NET 语言进行开发。.
从某种意义上讲,Silverlight 是WPF 的子集,你可以在Silverlight 中发现WPF 的许多功能,而且,微软的开发人员在其以后版本中也在努力实现WPF 的大部分功能。不过,其实现方式会有很大的不同,因为Silverlight 是以JavaScript. 为脚本引擎的,所以在本书中你会看到大量的JavaScript,希望你不会感到惊讶。
本书作者Adam Nathan 是微软的高级软件开发人员,他也是重要的Silverlight 应用的发起人之一。在写作本书之前,他还出版了一本优秀的关于WPF 的著作——《WPF 揭秘》, 本书在其国内外广受好评,相比其他几本畅销的WPF 图书,它可算得上是个中翘楚。由于Adam 也是WPF 团队的核心开发人员,所以对于以WPF 为参照的Silverlight 的理解也非常透彻,你可以从本书中获取Silverlight 的精髓。..
在翻译本书之前,我已经翻译了Adam 的《WPF 揭秘》,对于Adam 的语言风格有所了解, 所以翻译本书就显得相对轻松。如果你也阅读了《WPF 揭秘》,你会发现本书的少量章节内容与《WPF 揭秘》是相同的,但是我在语言表达上做了一定的调整,在《WPF 揭秘》的基础上对翻译文字做了进一步的修订,以期望能够让你觉得更加顺畅,也希望有更多的人来熟悉和了解Silverlight,并慢慢喜欢上这项技术。
在这里,我要感谢图灵公司,感谢他们为中国的读者引进了这本书,并且给了我翻译这本书的机会。同时也要感谢参与过本书编辑、审校工作的图灵公司的编辑和工作人员,感谢他们为这本书所作出的默默无闻的贡献。
由于水平有限,书中可能存在一些错误和病句,请你积极与我(可以通过tonyqus@gmail. com)或出版社取得联系,告诉我们问题所在,我们将及时放到本书的勘误中。另外,也欢迎你与我和编辑们分享关于本书的读书心得。...
译者
【目录】
第一部分 基础.1
启程 3
1
1.1 手工嵌入Silverlight 控件 8
1.2 让Silverlight.js 为你卖苦力 11
1.2.1 Silverlight.createObject 12
1.2.2 Silverlight.createObjectEx 13
1.2.3 把它们拼合 14
1.3 理解宿主选项 17
1.3.1 source. 17
1.3.2 属性 19
1.3.3 事件属性 24
1.4 以编程方式与Silverlight 控件交互 27
1.4.1 Settings 属性 28
1.4.2 Content 属性 29
1.4.3 其他成员 30
1.5 小结 31
XAML 33
2
2.1 元素和特性 34
2.2 XML 命名空间 35
2.3 属性元素. 36
2.4 类型转换器 37
2.5 对象元素的子元素 38
2.5.1 内容属性 38
2.5.2 集合中的项 39
2.6 附加属性. 40
2.7 XAML 与JavaScript. 的关系 41
2.7.1 与XAML 中定义的元素交互 42
2.7.2 动态生成XAML 48
2.8 小结 51
第二部分 创建静态内容形状、直线和曲线 55
3
3.1 基本形状. 56
3.1.1 Rectangle. 56
3.1.2 Ellipse 57
3.1.3 Polygon 59
3.2 直线与曲线 61
3.2.1 Line 61
3.2.2 Polyline 62
3.2.3 Path . 63
3.3 几何形状. 63
3.3.1 用几何形状作剪辑 64
3.3.2 PathGeometry 65
3.3.3 GeometryGroup . 68
3.3.4 用字符串表示几何形状 70
3.4 笔画 72
3.4.1 线帽 73
3.4.2 线连接. 73
3.4.3 短线 74
3.5 小结 75
文本 77
4
4.1 定制文本的显示. 78
4.1.1 字体基本属性. 78
4.1.2 其他自定义设置 81
4.1.3 获得TextBlock的尺寸 82
4.2 创建富文本的内容 83
4.2.1 Run 83
4.2.2 LineBreak 85
4.3 使用自定义字体 86
4.3.1 下载自定义字体 86
4.3.2 使用Glyphs 元素. 88
4.3.3 将文本转换为Path. 90
4.4 小结 90
笔刷与图像 93
5
5.1 SolidColorBrush 94
5.2 LinearGradientBrush 95
5.3 RadialGradientBrush 99
5.4 ImageBrush 和Image 101
5.5 VideoBrush 106
5.6 把笔刷当作透明遮罩使用. 108
5.7 小结. 109
定位元素及变换元素
6 1116.1 关于Canvas111
6.1.1 定位元素. 112
6.1.2 把元素放在其他元素的后面或前面.. 115
6.1.3 控制尺寸与剪辑. 116
6.1.4 用多个Canvas元素创建可维护的用户界面 118
6.2 应用变换 121
6.2.1 RotateTransform. 122
6.2.2 ScaleTransform 124
6.2.3 SkewTransform 128
6.2.4 TranslateTransform 129
6.2.5 MatrixTransform 130
6.2.6 组合变换. 131
6.3 小结. 133
第三部分 赋予内容生命
响应输入事件
7 137
7.1 Silverlight事件相关知识137
7.1.1 事件处理程序138
7.1.2 向事件添加事件处理程序139
7.2 鼠标事件 142
7.2.1 边界测试与命中测试 146
7.2.2 深入理解鼠标指针 146
7.2.3 事件冒泡 148
7.2.4 捕获鼠标 150
7.2.5 把它们拼合:创建一个滚动条 152
7.2.6 使用Silverlight 的手写笔功能 160
7.3 键盘事件 164
7.3.1 基础知识 165
7.3.2 找出按了哪个键 166
7.4 使用全屏模式 169
7.5 小结 171
按需下载内容173
8
8.1 初始化一次下载 173
8.2 使用已下载的内容 174
8.3 同时下载一个.ZIP 文件中的多个项目 176
8.4 显示进度条 177
8.4.1 简单的进度条 177
8.4.2 定制进度条 180
8.5 小结 183
动画
9 185
9.1 动画186
9.1.1 “手工”执行动画 186
9.1.2 用Silverlight 执行动画 189
9.2 用JavaScript. 与动画交互 194
9.2.1 控制Storyboard 的函数 194
9.2.2 Completed 事件 196
9.3 编辑动画时间线 196
9.3.1 BeginTime 196
9.3.2 SpeedRatio 197
9.3.3 AutoReverse 197
9.3.4 RepeatBehavior 198
9.3.5 FillBehavior. 199
9.4 进一步了解Storyboard 199
9.4.1 设置目标属性 199
9.4.2 指定目标对象 202
9.4.3 把Storyboard 当作动画 204
9.5 关键帧动画 207
9.5.1 线性关键帧 207
9.5.2 样条关键帧 208
9.5.3 离散关键帧 209
9.6 小结 211
音频和视频
10 213
10.1 用MediaElement播放音频和视频215
10.1.1 Source属性215
10.1.2 视觉效果216
10.1.3 针对音频的功能 217
10.1.4 针对视频的功能 217
10.1.5 累进下载与流 218
10.2 用JavaScript. 控制音频和视频 219
10.2.1 改变媒体的状态 220
10.2.2 基本媒体事件 220
10.2.3 音频和视频的定位 220
10.2.4 使用时间线标记器 221
10.2.5 创建一个媒体播放器用户界面 223
10.3 使用Expression Encoder 225
10.4 小结... 226
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/16566727/viewspace-481934/ ,如需转载,请注明出处,否则将追究法律责任。