这里主要介绍三种方式:1、将文件编译进dll;2、打包在XAP中;3、放在XAP包外,其所在目录下。

这里就将三张图片以不同的方式调用来作为例子:

一、编译进DLL

默认情况下,复制到项目中的资源都是以这种形式与代码一起生成的。

这时,资源文件属性中的生成操作需要设置为“Resource”。

如何在程序中使用?

BitmapImage bmp1 = new BitmapImage(new Uri("/SilverlightApplication1;component/images/被编译进DLL的.jpg", UriKind.Relative));
img_dll.Source = bmp1;

在使用URI的时候,格式为:/程序集名称;component/资源相对于项目根目录的路径。

程序集名称在哪里?注意不是命名空间名。

最终,可以通过反编译看到dll中的图片:

二、打包进XAP

这时需要将资源文件属性中生成操作设为“内容”。

如何在程序中使用?

BitmapImage bmp2 = new BitmapImage(new Uri("/images/被打包进XAP的.jpg", UriKind.Relative));
img_xap.Source = bmp2;

嗯,直接用相对于项目根目录的路径用就行了。

最终,可以看到XAP包中的它:

三、直接放外面

这种办法主要针对于资源文件比较大的情况。因为本来XAP包就不小,还要放一堆用得着用不着的资源,到时候客户端下载体验会严重被拖慢。但是放在外面就是需要人员去保证程序所需的资源一定要部署到位,要是想用的时候用不到就恶心了。。。

同样是设置生成操作,这次可以选成“无”,然后有一个地方需要注意,上面有一个“复制到输出目录”的选项,这个选项会将这个文件在项目生成的时候复制到项目生成的目录中,比如bin/Debug,但是一般Silverlight程序是挂在网站下的,xap在复制到网站的时候,资源文件可不会一起复制过去,人工自己来吧。。。

如何在程序中使用?跟上面打包的一样,可以直接写相对路径:

BitmapImage bmp3 = new BitmapImage(new Uri("/images/放在外面直接用的.png", UriKind.Relative));
img_out.Source = bmp3;

当然因为这个资源文件实际上是可以直接在网站上访问到的,也可以直接写绝对路径来加载资源,这里就不举例了。

Silverlight的测试页面:

放在外面的文件:

当然还有其他的资源使用办法,不过都不太常用,主要这三种就够了。

 

sliverlight资源文件的URI调用的更多相关文章

  1. WPF 中的 Pack URI地(资源文件加载)

    参考资源网http://msdn.microsoft.com/zh-cn/library/aa970069.aspx#Absolute_vs_Relative_Pack_URIs 在 Windows ...

  2. WPF基础篇之资源文件路径

    WPF资源文件的路径 关于WPF资源文件的路径 这几天在WPF中调用资源文件的Uri时,因为是在代码里调用Uri写的Uri总是不对,要么运行直接报异常,要么说找不到资源文件.下面是我解决的整个经过和碰 ...

  3. .Net资源文件全球化

    I:本博文代码示例效果图 好久没来写随笔了.不多说先上大饼!  跟着直接上 [代码下载地址] II:ASP.NET 资源文件介绍 在ASP.NET特殊文件夹内有那么两个不太引人注意,他们分别是App_ ...

  4. Hadoop集群上使用JNI,调用资源文件

    hadoop是基于java的数据计算平台,引入第三方库,例如C语言实现的开发包将会大大增强数据分析的效率和能力. 通常在是用一些工具的时候都要用到一些配置文件.资源文件等.接下来,借一个例子来说明ha ...

  5. Android将Activity打成jar包供第三方调用(解决资源文件不能打包的问题)

    转载地址:http://blog.csdn.net/xiaanming/article/details/9257853 最近有一个需要,我们公司做了一个apk客户端,然后其他的公司可以根据自己的需要来 ...

  6. 【转】Android将Activity打成jar包供第三方调用(解决资源文件不能打包的问题)

    Android中引入第三方Jar包的方法(java.lang.NoClassDefFoundError解决办法) 鼠标右键项目,然后属性,然后java buildpath 然后order and ex ...

  7. WPF使用路径(URI)引用资源文件

    Uri uri = new Uri("pack://application:,,,/程序集名称;component/Resources/bj.png", UriKind.Absol ...

  8. 资源文件加载(Pack URI 方案)

    Pack URI 在 Windows Presentation Foundation (WPF) 中,使用统一资源标识符 (URI) 标识和加载文件的方式有很多,包括:1.指定当应用程序第一次启动时显 ...

  9. C#调用Resources.resx资源文件中的资源

    使用到了.NET中的资源文件,也就是Resources.resx,于是就学会了如何调用资源文件中的资源.首先,资源文件可以从项目属性中的资源标签添加.比如,我添加一个图片,叫做aaa.png,添加入资 ...

随机推荐

  1. HTTP请求格式和HTTP响应格式

    主要内容: 1.HTTP请求格式 2.HTTP响应格式 一.HTTP请求格式 当浏览器向Web服务器发出请求时,它向服务器传递了一个数据块,也就是请求信息,HTTP请求信息由3部分组成:l   请求方 ...

  2. 【网络文摘】Androidguy:当你的才华还无法撑起你的野心时,那么应该静下心来学习

    [序] 2013年12月初,接到51CTO的邀请写一篇关于挨踢人物传记的邀请.尽管写文章对我已不是什么新鲜事.数年来写的书和博客至少也在600万字以上.不过基本都是与技术有关的.写传记这还是头一次,也 ...

  3. Hibernate(十三)命名查询-批量处理和调用存储过程

    一.命名查询 HQL语句混杂在代码之间将破坏代码的可读性 Hibernate允许在映射配置文件中定义字符串形式的查询语句,这种查询方式称为命名查询 二.建立数据表和持久化类 建立数据表 create ...

  4. C++使用hiredis连接带密码的redis服务

    c = redisConnect((char*)redis_host, redis_port); if (c->err) { /* Error flags, 0 when there is no ...

  5. 包装类、object、单例模式、final、抽象类

    /*包装类*/ /*  byte   Byte  short   Short  int    Integer  long   Long  char   Character  float   Float ...

  6. Linux必看书籍

    <鸟哥的Linux私房菜:基础学习篇(第三版)> <鸟哥的Linux私房菜——服务器架设篇> <高性能Linux服务器构建实战> <实战Nginx:取代 Ap ...

  7. 关于SimHash去重原理的理解(能力工场小马哥)

    阅读目录 1. SimHash与传统hash函数的区别 2. SimHash算法思想 3. SimHash流程实现 4. SimHash签名距离计算 5. SimHash存储和索引 6. SimHas ...

  8. vim插件之pathogen,NERDTree,Command-T,Powerline

    pathogen 功能说明 一个插件包往往具备多种功能,每个文件根据Vim的路径约定会放置到不同的目录下,通用插件放到plugin下,语法高亮插件放到syntax下,自动加载插件放到autoload下 ...

  9. 封装document.getElementById(id)

      CreateTime--2016年12月18日11:42:45Author:Marydon封装document.getElementById(Id)方法 <script type=" ...

  10. eclipse properties文件插件

      eclipse properties插件 CreateTime--2018年4月22日22:51:34 Author:Marydon 下载地址:properties文件插件.rar 1.将plug ...