本主题包括下列各节。
- 三维效果(透视转换)
- 位图效果和像素着色器
- WriteableBitmap
- 位图缓存
- 支持新媒体(原始视频/音频和 H.264)
- 在运行时更改样式
- BasedOn 样式
- 动画缓动函数
- 标志符号中的 FontSource 支持
- 脱离浏览器支持
- 基于 Silverlight 的本地应用程序之间的通信
- 应用程序库缓存
- 应用程序扩展服务
- 数据绑定改进
- 浏览器缩放支持
- 导航
- 网络
- 相关主题
三维效果(透视转换)
您可以使用称作透视转换的功能将三维效果应用于任何 Silverlight UIElement。例如,您可以制造这样一个假象,即对象朝向您或远离您进行旋转,如下图中所示。
使用透视转换的图像
有关更多信息,请参见三维效果(透视转换)。
位图效果和像素着色器
像素着色器可用于向呈现的对象添加各种效果,例如灰度、红眼消除、像素亮度和阴影。像素着色器效果使用算法来更改显示像素的方式。例如,下图显示应用于某一按钮的投影。
有关更多信息,请参见像素着色器效果。
WriteableBitmap
使用 WriteableBitmap 类基于每个框架来更新和呈现位图。这对于拍摄正播放视频的快照、生成算法内容(如分形图像)和数据可视化(如音乐可视化应用程序)很有用。
位图缓存
缓存合成是将可视元素缓存为位图以提高性能的一项功能。您通常将缓存合成用于下列情况:拉伸 VideoBrush、通过使用不透明混合两层以及拉伸和旋转对象。有关更多信息,请参见 Bitmap Caching(位图缓存)。
支持新媒体(原始视频/音频和 H.264)
Silverlight 现在支持原始视频/音频和 H.264。有关更多信息,请参见支持的媒体格式、协议和日志字段。
在运行时更改样式
在 Silverlight 3 中取消了针对 Style 属性的仅可写一次限制。您现在可以设置 Style 属性以便覆盖内置的默认样式。多次设置相同的样式将不会导致异常。有关更多信息,请参见 Style。
BasedOn 样式
您可以获取或设置基于现有样式的样式。有关更多信息,请参见 BasedOn 属性。
动画缓动函数
通过缓动函数,您可以将自定义算术公式应用于动画。例如,您可能希望某一对象逼真地弹回或其行为像弹簧一样。您可以使用关键帧动画甚至 From/To/By 动画来大致模拟这些效果,但可能需要执行大量的工作,并且与使用算术公式相比动画的精确性将降低。有关更多信息,请参见动画概述。
标志符号中的 FontSource 支持
Glyphs 元素现在支持使用本地字体。仅在 JavaScript 中支持此功能。有关更多信息,请参见 GetSystemGlyphTypefaces 和 GlyphTypefaceCollection。
脱离浏览器支持
通过浏览器外支持,您可以将基于 Silverlight 的应用程序配置为在浏览器外运行。用户可以从其宿主网页安装某一浏览器外应用程序,然后从应用程序快捷方式运行它。浏览器外应用程序不需要网络连接就可以运行。您还可以实现网络检测、脱机缓存和自动更新,以便为偶尔连接的应用程序提供无缝体验。有关更多信息,请参见浏览器外支持。
基于 Silverlight 的本地应用程序之间的通信
通过 Silverlight 3,您可以将消息从一个基于 Silverlight 的应用程序发送到在同一台计算机上运行的其他应用程序。这样,您可以创建跨多个插件的 Silverlight 内容,例如从横幅跨越到侧栏的动画。有关更多信息,请参见如何在基于 Silverlight 的本地应用程序之间实现通信。
应用程序库缓存
通过应用程序库缓存,您可以配置库程序集,这样,它们就可以在多个应用程序之间共享,而不需要执行多次下载。这些库在首次使用时缓存在用户的计算机上,使它们自动可用于其他应用程序。您可以将库缓存用于您自己的程序集或用于补充 Silverlight 运行时的 Microsoft 库。有关更多信息,请参见应用程序扩展服务。
应用程序扩展服务
通过应用程序扩展服务,您无需从 Application 类派生便可以扩展 Silverlight 应用程序模型。这样可便于提供客户端开发人员可以综合利用的自定义应用程序框架,因为无需非标准的应用程序开发实践经验。有关更多信息,请参见应用程序扩展服务。
数据绑定改进
Silverlight 3 提供以下数据绑定改进:
- 用于验证的内置的可视反馈,可标识具有验证错误的控件并且显示错误消息。
- ElementName 绑定,使您可以通过 XAML 将某一控件绑定到其他控件的属性。
- RelativeSource 绑定,使您可以将某一控件绑定到自身;如果该控件是数据模板的一部分,还可以绑定到模板化控件。
- 显式源更新,这使您可以控制在双向绑定中何时快更新复制到数据源。
有关更多信息,请参见数据绑定。
浏览器缩放支持
默认情况下,基于 Silverlight 的内容会调整大小以便响应浏览器缩放设置中的更改。但是,您可以覆盖此行为以便为浏览器缩放事件提供您自己的处理方式。有关更多信息,请参见 EnableAutoZoom 属性。
导航
Silverlight 3 提供 Frame 和 Page 类以简化导航到内容的单独部分。您创建所需的任意数量的不同页面以展现您的应用程序中的内容,然后从框架导航到这些页面。您可以通过为框架和页面指定缓存行为,减轻服务器上的处理负荷。您还可以通过将特定的 URI 模式映射到为该模式处理请求的文件,实现用户友好的 URI。有关更多信息,请参见导航概述。
网络
新的 HTTP API 为在浏览器内和浏览器外承载的基于 Silverlight 的应用程序的常见 Web 服务模式提供支持,并且可与现有的 HTTP API 混用。在 Silverlight 2 中,所有 HTTP 处理都由浏览器进行。在 Siverlight 3 中,HTTP 处理现在也可以由客户端执行。通过客户端 HTTP 处理可以实现某些附加功能,例如使用非 GET 和 POST 的方法、处理其他状态代码和响应、生成 REST 服务调用和手动处理 Cookie 存储区。有关更多信息,请参见Silverlight 中的 HTTP 通信和安全和如何指定浏览器或客户端 HTTP 处理。
新的 System.Net.NetworkInformation 命名空间提供对网络可用性信息和本地计算机的地址更改通知的访问。此命名空间用于实现对网络状态中的更改(例如地址或界面状态更改)的基本检测。应用程序可以跟踪何时从网络或从本地缓存获取应用程序数据和资产,以及可以确定它们是否应进行远程网络调用。这有助于实现在浏览器外运行的 Silverlight 应用程序。