Silverlight 5 深入理解 - TechEd2011葡萄城讲师课程
Silverlight 5 在 Silverlight 4基础上做了一些补充和增强
- 丰富的媒体表现能力
- 增强的图形展现能力
- 构造下一代商业应用程序
- 信任模式的增强
- 性能提升
- 工具完善
其中,大多数增强来自于在线调查
lhttp://dotnet.uservoice.com/forums/4325-silverlight-feature-suggestions
Silverlight 5 功能介绍
工具完善
- 调试XAML中的数据绑定
- Visual Studio 性能分析工具
- 支持 Visual Studio Team Test
构造下一代商业应用程序
- 数据绑定增强
- 文本呈现增强
- 鼠标双击/多击支持
- PivotViewer 控件
- Postscript 矢量打印支持
媒体增强
- 遥控器和媒体命令支持
- 视频回放增强
- 实时音效
工作在信任模式下
- 多窗口支持
- 无限制的文件访问
- 全屏模式下的键盘支持
- COM 调用支持
- P/Invoke 访问非托管代码
图形增强
- 3D 图形接口
性能提升
- 减少网络延迟
- 提高 XAML 解析速度
- 64位支持
还有很多……
调试XAML中的数据绑定
以前,如果 Binding 不能正常工作了,你必须检查 Visual Studio 的输出窗口,查看失败信息。然后创建一个 ValueConverter 并在 Binding 中使用,检查传入传出的数值。结果发现Path 写错了?一点一点试吧~~
现在,在 XAML 中为 Binding 设一个断点,直接检查本地窗口即可。
Visual Studio性能分析工具
Silverlight 5 提供了包括CPU、内存、线程竞争等等丰富的性能分析工具。
支持Visual Studio Team Test
如下图所示:
支持隐式的 DataTemplate
隐式的 DataTemplate薄板就是为程序中用到的某种数据写一个统一的模板。在ItemsControl中,不同的数据可以使用不同的模板。
数据绑定增强
SL5中提供了ICustomTypeProvider,它能为JSON等数据源制定数据类型。Binding.RelativeSource 支持 Ancestor,而Binding.UpdateSourceTrigger 支持PropertyChanged。Style 的 Setter 支持 Binding。此外,SL5还提供 DataContextChanged 事件以及支持自定义 MarkupExtension的能力。
RichTextBlock控件
RichTextBlock控件适合用来呈现大段的文本。可以进行选择并复制并对文本进行自由的布局,例如排布成多列显示或者做出文本环绕的效果等。
文本呈现增强
SL5支持调整字符间距,支持像素对齐以及OpenType字体,以此来改善用户的阅读体验。
鼠标双击/多击支持
SL5增加ClickCount属性,使用它能够判断鼠标点击次数。在应用程序中支持鼠标三击。需要注意的是,鼠标三击是一个渐进的行为,而且会经过鼠标单击和双击事件。因此在事件顺序上不能有冲突。一个合适的例子是双击选中一段文本,三击选中全部文本。
PivotViewer 控件
从SL5开始,PivotViewer 正式加入 Silverlight SDK。它使用了DeepZoom技术展示数据。
示例:http://www.microsoft.com/silverlight/case-studies/
Postscript 矢量打印
Postscript 是打印机可以识别的页面描述语言,但是它需要打印机支持!以前的打印方法是位图打印,速度慢,内存消耗大,而且打印机的分辨率越高,性能越差。因此只适合打印几页内容的文档。
而Postscript 矢量打印的出现则解决了这一问题。打印机分辨率对性能没有影响,可以打印上百页的文档了。
遥控器和媒体命令支持
SL5支持多媒体控制的硬件设备,例如:XBOX 360 遥控器、Media Center 遥控器\笔记本电脑的多媒体按键等等。
其中UIElement.MediaCommand 事件可以处理播放,暂停,停止、前进,后退、音量+/-,频道+/-等等操作。
视频回放增强
SL5支持 H.264 视频回放的硬件解码。支持TrickPlay,包括支持快进/快退以及在 2 倍快进时,利用音频修复技术,还原真实的语调。它还增强了电源控制,能够处理播放视频时禁止屏幕保护程序以及暂停视频时允许计算机进入睡眠状态等。此外,SL5还提供了DRM 增强功能。
实时音效
最常见的应用程序和游戏中都需要实时音效。在Silverlight 4 时代,为了减少声音的延迟,我们做了大量工作,需要很多技巧。但是现在,Silverlight 5 提供了 XNA 中的 SoundEffect模块,它可以满足用户对实时音效的要求。不过它也有限制,比如声音文件必须是PCM编码(一般为 WAV 文件)。再比如,为了最好的效果,对声音文件的比特率有限制。
Silverlight 5 的信任模式
SL5的信任模式包括:本地应用的信任模式、浏览器应用的信任模式。同时,信任的应用程序可以通过组策略指定。
多窗口支持
在 Silverlight 4 的 OOB 程序中,我们只有一个窗口。虽然可以用 Popup 和 ChildWindow 模拟,但是他们不是真正的窗口,不能移动到主窗口外面。
在 Silverlight 5 的 OOB 程序中,我们可以创建多个操作系统的窗口,可以自定义窗口的形状,而且还支持双屏幕。
其他工作在信任模式下的好处
- 无限制的文件访问:以前只能访问“我的文档”,现在可以访问所有文件。
- 全屏模式下的键盘支持:在浏览器中全屏运行,可以接到所有键盘消息
- COM 调用支持:可以访问浏览器中的其他 COM 插件
- P/Invoke 访问非托管代码:在本地应用中,可以调用 Windows API
3D图形接口
Silverlight 4 的 3D其实是Projection:3D 投影变换。
Silverlight 5 的 3D是基于 XNA 的 3D 引擎,支持贴图、纹理、光照,支持顶点着色器和像素着色器的“真3D”。同时可支持3D 模型导入功能。
“真3D” 能做什么呢?看看下面吧~
资源
- Silverlight 5 RC 已经可以下载
- Silverlight 5 正式版年底前发布
- 本课程PPT以及所有Demo下载地址:TechEd2011 Silverlight 5 课件 (WEB-300-8)