WEB开发网
开发学院图形图像Flash Silverlight 技巧、窍门和最佳实践 阅读

Silverlight 技巧、窍门和最佳实践

 2008-10-26 11:49:37 来源:WEB开发网   
核心提示: 这也是为什么设计出色的 Silverlight 应用程序不静态链接媒体资源的原因,相反,Silverlight 技巧、窍门和最佳实践(6),它们使用内置的 Silverlight 下载器对象,它搭载在浏览器的 XmlHttpRequest 堆栈上,Completed 事件处理程序将下载的图

这也是为什么设计出色的 Silverlight 应用程序不静态链接媒体资源的原因,相反,它们使用内置的 Silverlight 下载器对象,它搭载在浏览器的 XmlHttpRequest 堆栈上,异步下载这些资产。不采用这种操作

<MediaElement Source="FunnyVideo.wmv" />

您选择的是声明没有 Source 属性的 MediaElement,可防止 Silverlight 控件在渲染任何 XAML 前等待视频下载。然后创建一个下载器对象并异步下载视频,在下载完成后调用 MediaElement 的 SetSource 方法,将视频传递到 MediaElement。如果愿意,还可在此更新进度指示器。下载器通过激发 downloadProgressChanged 和 Completed 事件在执行过程中予以协助。

Silverlight 还使下载多个资产比仅下载一个资产更为容易。只需将所有资产(音频、视频、图像,甚至 XAML 或 XML)打包到一个 ZIP 文件中,并使用下载器下载它即可。.然后,在调用 SetSource 将内容分配到对象时,在第二个参数中指定 ZIP 文件中文件的名称。这是最简捷的方法。

示例如下:

downloader.open('GET', 'Assets.zip');
downloader.send();
 ...
// In the Completed event handler
_media.setSource(sender, 'FunnyVideo.wmv');

RevolvingAuto 应用程序使用下载器对象异步下载包含 105 个图像文件的 ZIP 文件。这些文件共同组成了以 3.5 度递增的 360 度汽车旋转视图。在运行时,应用程序弹出和弹入图像以旋转汽车。

DownloadProgressChanged 事件处理程序更新进度条,它只是随下载进行增加宽度的一个 XAML 矩形。Completed 事件处理程序将下载的图像分配给动态创建的 Image 对象。根据本文第一部分引用的性能文档的说明,它还会隐藏进度条并注销两个下载器事件处理程序。

上一页  1 2 3 4 5 6 7 8 9 10  下一页

Tags:Silverlight 技巧 窍门

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接