博客
关于我
Silverlight学习笔记:资源的位置
阅读量:428 次
发布时间:2019-03-06

本文共 1267 字,大约阅读时间需要 4 分钟。

在Web项目中,我们不可避免地需要使用图片、音频、视频、字体等非可执行的数据文件,这些通常被称为资源文件。在Silverlight中,资源文件的引用方法有多种,下面将从实际操作角度对其进行详细介绍。

一、资源文件的引用方法

Silverlight应用程序的资源文件可以通过以下几种方式引用:

  • 嵌入应用程序包

    这是最常见的引用方式。资源文件会被嵌入到生成的XAP文件中。这种方式的缺点是增加了XAP文件的大小,但它的简单性和普遍性使其成为开发者常用的选择。

  • 按需检索

    如果资源文件不需要立即加载,可以通过从外部地址(如网站的ClientBin目录)动态加载的方式实现。这种方式适合资源文件较大或加载频率较低的情况。

  • 嵌入程序集

    如果需要将资源文件作为程序集的一部分嵌入,可以通过将资源文件添加到项目中,并设置其Build Action为"Resource"。这种方式与嵌入应用程序包的效果类似,但在某些场景下可能更灵活。

  • 按需检索的程序集嵌入

    这种方式结合了嵌入程序集和按需加载的优点。资源文件会被嵌入到程序集中,但在需要时会动态加载,这样既减小了XAP文件的大小,又提高了加载效率。

  • 二、Build Action的配置

    在Silverlight项目中,资源文件的引用还与其Build Action的设置密切相关。Build Action有三种常见设置:

  • Resource(默认设置)

    选择这个选项会将资源文件嵌入到生成的XAP文件中。这种方法适用于需要将资源文件直接嵌入到应用程序中的场景。

  • Content

    选择这个选项会将资源文件作为内容文件处理。这种方式通常用于需要在XAML中引用静态资源(如字体文件)的情况,资源文件不会被嵌入到XAP文件中,而是保留在项目目录中。

  • None

    选择这个选项表示资源文件不会被嵌入到XAP文件中,而是作为外部文件加载。这种方式适用于需要从特定路径或服务器动态加载资源文件的情况。

  • 三、资源文件的引用最佳实践

  • 资源文件的存储位置

    • 如果选择"Resource"或"None",则资源文件应放置在与Silverlight应用程序同一目录中的ClientBin子目录中。
    • 如果选择"Content",则资源文件应放置在项目目录中。
  • 相对路径与绝对路径

    • 如果使用相对路径(如"./blend.jpg"),则Silverlight会从XAP文件的根目录开始搜索资源文件。
    • 如果使用绝对路径(如"http://localhost:7323/009_uri.Web/ClientBin/blend.jpg"),则需要确保服务器上有相应的配置。
  • 动态加载优化

    • 对于大型资源文件或频繁加载的资源,可以使用Silverlight的BackgroundLoader来优化加载性能。
  • 四、总结

    通过合理配置Build Action和资源文件的引用方式,可以在Silverlight项目中实现资源文件的高效管理和灵活使用。无论是嵌入到XAP文件中,还是通过动态加载,开发者都可以根据具体需求选择最优方案。

    转载地址:http://anrkz.baihongyu.com/

    你可能感兴趣的文章
    Openlayers中使用Image的rotation实现车辆定位导航带转角(判断车辆图片旋转角度)
    查看>>
    Openlayers中使用Overlay实现点击要素弹窗并且弹窗随之移动
    查看>>
    Vmware系列&虚拟机系列【仅供参考】:使用vCenter Auto Deploy制作ESXI系统封装(适合高版本vSphere)
    查看>>
    Openlayers中加载GeoJson文件显示地图
    查看>>
    Openlayers中加载Geoserver切割的EPSG:900913离线瓦片图层组
    查看>>
    Openlayers中加载Geoserver切割的EPSG:900913离线瓦片地图并显示
    查看>>
    Openlayers中多图层遮挡时调整图层上下顺序
    查看>>
    Openlayers中实现地图上添加一条红色直线
    查看>>
    Openlayers中将某个feature置于最上层
    查看>>
    Openlayers中点击地图获取坐标并输出
    查看>>
    Openlayers中设置定时绘制和清理直线图层
    查看>>
    Openlayers入门教程 --- 万字长篇
    查看>>
    Openlayers图文版实战,vue项目从0到1做基础配置
    查看>>
    OpenLayers学习三:地图旋转及地图跳转到某一点的方式(以类为接口)
    查看>>
    Openlayers实战:loadstart和loadend事件
    查看>>
    Openlayers实战:modifystart、modifyend互动示例
    查看>>
    Openlayers实战:判断共享单车是否在电子围栏内
    查看>>
    Openlayers实战:加载Bing地图
    查看>>
    Openlayers实战:加载GeoJSON
    查看>>
    Openlayers实战:加载SHP文件
    查看>>