图片等资源的引用路径问题
- 图片放哪里?
- Xaml中怎么引用图片?
在SL中,我们经常会遇到资源引用的问题,尤其是图片资源。这里就有两个地方需要注意的:
下面我会通过一个简单的Demo来讲解一下这两个问题。
首先,新建两个工程,如下图:
![]()
这里,我们在SL工程中的Images文件夹放了4张图片(其中Image.jpg可以忽略),在Web工程的ClientBin目录下也建了个叫Images的文件夹,下面只有一张我们要用来外部引用的图片。
右键SL工程中任意一张图片=>属性(Property),我们会看到下面这样的配置菜单。
![]()
其中两个配置项是我们所关心的,一个是Build Action,另外一个是Copy To Output Directory。
其中Build Action会决定VS是如果处理你这个文件的,点开下拉菜单会看到可以选择的编译动作有好几个,这里我们只讲下面几个(因为我只研究过这几个^_^,如果其他选项你知道的话,请告诉我)。
- Resource —— 资源会被打包在程序集内部
- Content——资源会被打包在Xap包里面
- None——资源既不会被集成到程序集内,也不会打包到xap包中。不过我们可以通过设置CopyToOutputDirectory选项让其自动拷贝到xap包所在目录。
再来说引用的问题。
- 使用前置 / 引用资源时,SL会从当前Xap包中查找资源,找不到的话会到Xap包所在的目录查找
- 不使用前置 / 引用资源时,SL会从当前程序集内查找资源,如果找不着则会到Xap包所在目录查找其他选项你知道的话
- 你也可以使用/{程序集名};component/{图片资源路径}的方式来访问,这样就查找的路径就限定在程序集内部了,也就是那些标记为Resource的资源。
——Kevin Yang
你可能对下面的文章感兴趣
本博客遵循CC协议2.5,即署名-非商业性使用-相同方式共享
写作很辛苦,转载请注明作者以及原文链接~
如果你喜欢我的文章,你可以订阅我的博客:-D点击订阅我的文章










最新评论
@Kevin Yang 3G上网不要钱的 但是推送就没办法了 TOT
我都没绑定信用卡他怎么扣我的钱呢?3G流量本身不收费的好像, 但是如果用到了亚马逊的特定服务是要收费的,例如订阅免费的书刊 杂志。如果是你自己给自己推送的那么是不用收费的。
3g是要钱的…
精彩,睇书睇微软都唔够清楚,睇你的文档,一次就懂,好文好文
讲的很详细,就是有点儿长了,回去试一下