Silverlight 技巧、窍门和最佳实践
2008-10-26 11:49:37 来源:WEB开发网这也是为什么设计出色的 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 对象。根据本文第一部分引用的性能文档的说明,它还会隐藏进度条并注销两个下载器事件处理程序。
Tags:Silverlight 技巧 窍门
编辑录入:爽爽 [复制链接] [打 印]- ››silverlight全屏显示图片
- ››Silverlight MVVM 模式(一) 切近实战
- ››Silverlight for Windows Phone 7开发系列(1):...
- ››Silverlight for Windows Phone 7开发系列(2):...
- ››Silverlight for Windows Phone 7开发系列(3):...
- ››Silverlight for Windows Phone 7开发系列(4):...
- ››Silverlight for Symbian
- ››技巧:当不能抛出异常时
- ››Silverlight3系列(四)数据绑定 Data Binding 1
- ››技巧:Linux rsync 同步由手动到自动
- ››技巧:下载FLV视频的一种简便方法
- ››技巧:从源代码开始升级应用程序
更多精彩
赞助商链接