无
——变革已经开始
记得两个月之前还在畅谈ASPNET AJAX,两个月后,已在Mix07 Taipei的大会上强力推荐Silverlight。或许,这就是技术人员苦闷之处,因为永远处在一种被迫学习的状态。我也是人,当然也曾经为此而苦恼,为此而感到困惑。然而对扮演技术推广角色的我以及整个团队而言,如果不能在心态上做好调整,说服自己,又如何能说服读者与听众呢?
1990年出版了第一本书籍,1992年开始帮微软公司举办研讨会,这么多年下来,我看过的新技术与世代更迭不知几何?然而Silverlight还是让我一眼就为之震撼,我心中知道,这将是未来几年最热门的技术,它将造成企业网页的大幅改版,也将引发强大的学习需求,其背后所蕴藏的商机是无可限量的。
我常说,从ASPNET 20到ASPNET AJAX,从ASPNET AJAX再到Silverlight,其实是一脉相承,技术有其延续性与一贯性。你不需担心过去所学习的技术会付诸流水,相反,过去的技术知识(尤其是AJAX)将让您在Silverlight中进一步发光发热。正所谓卡布其诺有泡沫也有咖啡,你喝到的是咖啡还是泡沫呢?您终日的学习是在外围兜圈圈,还是一击中的、深入核心呢?未来的路上,我们将伴您学习,一起发光发热,迈向全新的RIA应用程序。
章立民与章立民研究室全体成员
2007/9/4
章立民研究室:章立民研究室: 章立民先生是台湾非常知名和资深的技术作家。他在台湾微软公司担任顾问与讲师的时间长达15年,对微软开发工具与数据库管理系统等技术都有非常深入的研究。章立民先生不仅拥有丰富的实务经验,经常与第一线的开发人员接触并交流,深知从业人员的真正需求。因此,不仅他的图书著作受到大家的肯定与喜爱,他所主讲的研讨会更是深获好评。 为了能够质与量并重,撰写出更多的优质书籍,并为两岸信息文化事业贡献一份心力,章立民先生在2006初正式成立了“章立民研究室”并担任技术总监,亲自审校所有书籍,期许通过团队的力量,提供更多的好书给广大的读者;也希望借此促进良性竞争,提升信息图书的整体质量。 章立民研究室的所有成员有几项特色,第一,在相关信息领域必须有六年以上的实务经验;第二,必须参与或主持数项具代表性的项目;第三,必须同时专精Visual Basic与Visual C# 程序设计语言;第四,对数据库技术必须有相当程度的认识;最后一项,就是必须拥有高度的热诚以及无私分享的精神。 目前,“章立民研究室”的成员中,有人甚至已在美国从事项目开发10年以上,并且已经具备项目经理人的职位。他们在章立民先生的号召之下,投入研究室的写作行列。如此高水平的成员,让广大读者对“章立民研究室”拥有极高的期待。
前言
第1章下载与安装Silverlight 10
第2章从了解Silverlight 10
开始学起
21什么是Silverlight
22Silverlight的特性
23Silverlight的技术内涵
24Silverlight应用程序的执行方式
25实现第一个Silverlight应用程序
26实现一个简易的视频播放程序
结语
第3章Silverlight功能概述与实践
31什么是XAML
32如何在编写Silverlight 10的XAML
时拥有智能
33如何声明对象
34如何设置属性
341如何使用属性语法
342如何使用属性元素语法
343如何使用内容元素语法
344如何使用隐含集合语法
345属性语法与属性元素语法的
使用时机
35再谈画布(Canvas对象)
36如何绘制图形
37如何使用笔刷
371绘制纯色图形
372绘制渐变色的图形
373使用ImageBrush
38常用的图形属性
381Opacity属性
382OpacityMask属性
383Clip属性
384RenderTransform属性
39探讨图像对象
310如何使用多媒体
3101如何在网页上播放多媒体
3102MediaElement对象的重要属性
3103以互动方式控制多媒体的播放
3104以全屏幕播放视频
3105使用视频笔刷
311动画
3111实现一个Silverlight动画
3112其他类型的动画
3113探讨时间轴的属性
312探讨JavaScript与鼠标事件
3121如何为事件定义事件处理程序
3122如何以程序控制方式设置属性
3123如何以程序控制方式设置附加
属性
3124常用的鼠标事件
3125如何命名与存取对象
3126如何动态创建Silverlight对象
3127如何以互动方式控制动画
3128使用getElementById方法来存取
或创建对象
313实现Silverlight交互式控件
3131超级链接范例
3132按钮范例
3133滑块范例
3134动态图片按钮
结语
第4章探讨Silverlight插件
41探讨文档对象模型
42探讨Silverlight对象模型
43善用CreateSilverlightjs与
Silverlightjs
44如何调用CreateSilverlight方法
45如何调用createObject与createObjectEx
方法
46探讨Silverlight插件的初始化属性
461width属性
462height属性
463background属性
464windowless属性
465frameRate属性
466enableFramerateCounter属性
467inplaceInstallPrompt属性
468enableHtmlAccess属性
469version属性
4610ignoreBrowserVer属性
47如何在运行时取得Silverlight插件的
引用
48如何在运行时存取Silverlight插件的
属性、方法以及事件
481直接存取Silverlight插件的成员
482通过settings属性来存取Silverlight
插件的成员
483通过content属性来存取Silverlight
插件的成员
49如何创建与引用内嵌的XAML
410如何设置并引用自定义初始化
参数
411如何使用Silverlight插件的OnLoad
事件
412如何使用Silverlight插件的OnError
事件
结语
第5章探讨事件与交互式处理
51声明式绑定
52JavaScript动态绑定
521如何使用addEventListener方法
522如何使用removeEventListener
方法
53探讨Loaded事件
54探讨鼠标事件与参数
55探讨鼠标事件的事件反升
56探讨鼠标拖放操作
57探讨按键事件
结语
第6章如何访问与动态变更XAML
61XAML对象的层级架构
62如何访问Silverlight插件
63如何查找XAML对象
64如何枚举与访问集合中的对象
65如何取得XAML对象的属性值
66如何设置XAML对象的属性
67如何将XAML对象动态新增至XAML
对象层级中
68添加对象对z次序的影响
69如何动态删除对象
结语
第7章探讨Silverlight插件的显示
模式
71嵌入模式与全屏模式
72如何实现全屏切换功能
73OnResize与OnFullScreenChange
事件的差异
结语
第8章活用文字与字体
81探讨TextBlock对象
82如何格式化文字
821如何更改TextBlock中文字的
大小
822如何让同一个TextBlock应用不同
的笔刷
823如何指定多种字体
824如何让文字换行
825如何强制文字换行
826探讨ActualWidth与ActualHeight
827如何让文字具备超级链接的
样式
83如何为文字应用转换效果
831如何旋转文字
832如何缩放文字
833如何扭曲文字
834如何平移文字
835如何为文字应用矩阵转换效果
836如何将文字分组以便同时应用
多种转换效果
84如何使用额外下载的字体
85如何显示中文
851下载完整的中文字体文件
852仅下载所需的中文字体文件
853下载完整的中文字体文件
854仅下载所需的中文字体文件
855如何使用Path来显示中文
856注意事项
结语
第9章活用Downloader对象
91探索Downloader对象
92如何创建Downloader对象
93探讨Downloader对象的事件
94如何使用Downloader对象
95如何删除Downloader对象
96探讨GetResponseText方法与
ResponseText属性
结语
第10章探讨动画效果
101如何创建与使用From/To/By动画
102如何使用基础值来创建From/To/By
动画
103如何使用变化值来创建From/To/By
动画
104From/To/By动画播放结束时的运作
行为
105如何设置动画开始播放的时间106如何设置动画播放的次数
107如何逆向播放动画
108From/To/By动画的类型
109如何控制动画的运作行为
1010如何创建与使用关键帧动画
1011关键帧
1012插补方法
10121Discrete插补方法
10122Linear插补方法
10123Splined插补方法
1013关键帧的综合应用
结语
第11章探讨Silverlight的多媒体
功能
111如何创建与使用MediaElement
对象
112如何控制影片显示的比例
113如何于程序运行时动态绑定事件与
事件处理程序
114如何让影片重复播放
115MediaElement对象支持的多媒体
格式
116如何播放音频文件
117MediaElement对象支持的通信协议
118如何播放MMS文件
119Streaming服务
1110如何改变影片自动播放的效果
1111如何创建交互式多媒体播放界面
1112时间轴标记
附录A如何安装与使用范例
附录B如何动态调用Web服务来
产生中文