Silverlight 5 深入理解 - TechEd2011葡萄城讲师课程

简介: Silverlight 5 在 Silverlight 4基础上做了一些补充和增强 丰富的媒体表现能力 增强的图形展现能力 构造下一代商业应用程序 信任模式的增强 性能提升 工具完善 其中,大多数增强来自于在线调查 lhttp://dotnet.

image

img_ef09fdea2f6dace0b55dddd2429548cb.jpg

Silverlight 5 在 Silverlight 4基础上做了一些补充和增强

  • 丰富的媒体表现能力
  • 增强的图形展现能力
  • 构造下一代商业应用程序
  • 信任模式的增强
  • 性能提升
  • 工具完善

其中,大多数增强来自于在线调查

lhttp://dotnet.uservoice.com/forums/4325-silverlight-feature-suggestions

image

 

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

如下图所示:

image

 

支持隐式的 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/

image

 

Postscript 矢量打印

Postscript 是打印机可以识别的页面描述语言,但是它需要打印机支持!以前的打印方法是位图打印,速度慢,内存消耗大,而且打印机的分辨率越高,性能越差。因此只适合打印几页内容的文档。

而Postscript 矢量打印的出现则解决了这一问题。打印机分辨率对性能没有影响,可以打印上百页的文档了。

 

遥控器和媒体命令支持

SL5支持多媒体控制的硬件设备,例如:XBOX 360 遥控器、Media Center 遥控器\笔记本电脑的多媒体按键等等。

其中UIElement.MediaCommand 事件可以处理播放,暂停,停止、前进,后退、音量+/-,频道+/-等等操作。

 

image

 

视频回放增强

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” 能做什么呢?看看下面吧~

image

 

资源

相关文章
|
7天前
|
存储 关系型数据库 分布式数据库
PostgreSQL 18 发布,快来 PolarDB 尝鲜!
PostgreSQL 18 发布,PolarDB for PostgreSQL 全面兼容。新版本支持异步I/O、UUIDv7、虚拟生成列、逻辑复制增强及OAuth认证,显著提升性能与安全。PolarDB-PG 18 支持存算分离架构,融合海量弹性存储与极致计算性能,搭配丰富插件生态,为企业提供高效、稳定、灵活的云数据库解决方案,助力企业数字化转型如虎添翼!
|
6天前
|
存储 人工智能 Java
AI 超级智能体全栈项目阶段二:Prompt 优化技巧与学术分析 AI 应用开发实现上下文联系多轮对话
本文讲解 Prompt 基本概念与 10 个优化技巧,结合学术分析 AI 应用的需求分析、设计方案,介绍 Spring AI 中 ChatClient 及 Advisors 的使用。
328 130
AI 超级智能体全栈项目阶段二:Prompt 优化技巧与学术分析 AI 应用开发实现上下文联系多轮对话
|
18天前
|
弹性计算 关系型数据库 微服务
基于 Docker 与 Kubernetes(K3s)的微服务:阿里云生产环境扩容实践
在微服务架构中,如何实现“稳定扩容”与“成本可控”是企业面临的核心挑战。本文结合 Python FastAPI 微服务实战,详解如何基于阿里云基础设施,利用 Docker 封装服务、K3s 实现容器编排,构建生产级微服务架构。内容涵盖容器构建、集群部署、自动扩缩容、可观测性等关键环节,适配阿里云资源特性与服务生态,助力企业打造低成本、高可靠、易扩展的微服务解决方案。
1331 8
|
5天前
|
监控 JavaScript Java
基于大模型技术的反欺诈知识问答系统
随着互联网与金融科技发展,网络欺诈频发,构建高效反欺诈平台成为迫切需求。本文基于Java、Vue.js、Spring Boot与MySQL技术,设计实现集欺诈识别、宣传教育、用户互动于一体的反欺诈系统,提升公众防范意识,助力企业合规与用户权益保护。
|
17天前
|
机器学习/深度学习 人工智能 前端开发
通义DeepResearch全面开源!同步分享可落地的高阶Agent构建方法论
通义研究团队开源发布通义 DeepResearch —— 首个在性能上可与 OpenAI DeepResearch 相媲美、并在多项权威基准测试中取得领先表现的全开源 Web Agent。
1412 87
|
6天前
|
人工智能 Java API
AI 超级智能体全栈项目阶段一:AI大模型概述、选型、项目初始化以及基于阿里云灵积模型 Qwen-Plus实现模型接入四种方式(SDK/HTTP/SpringAI/langchain4j)
本文介绍AI大模型的核心概念、分类及开发者学习路径,重点讲解如何选择与接入大模型。项目基于Spring Boot,使用阿里云灵积模型(Qwen-Plus),对比SDK、HTTP、Spring AI和LangChain4j四种接入方式,助力开发者高效构建AI应用。
315 122
AI 超级智能体全栈项目阶段一:AI大模型概述、选型、项目初始化以及基于阿里云灵积模型 Qwen-Plus实现模型接入四种方式(SDK/HTTP/SpringAI/langchain4j)
|
5天前
|
JavaScript Java 大数据
基于JavaWeb的销售管理系统设计系统
本系统基于Java、MySQL、Spring Boot与Vue.js技术,构建高效、可扩展的销售管理平台,实现客户、订单、数据可视化等全流程自动化管理,提升企业运营效率与决策能力。
|
7天前
|
弹性计算 安全 数据安全/隐私保护
2025年阿里云域名备案流程(新手图文详细流程)
本文图文详解阿里云账号注册、服务器租赁、域名购买及备案全流程,涵盖企业实名认证、信息模板创建、域名备案提交与管局审核等关键步骤,助您快速完成网站上线前的准备工作。
256 82
2025年阿里云域名备案流程(新手图文详细流程)