使用Application.GetResourceStream方法加载资源时得到的总是null

时间:2023-03-09 09:28:37
使用Application.GetResourceStream方法加载资源时得到的总是null
我们可以预先把程序中用到的资源,如图片,音乐等放入项目中,打包进XAP文档,需要的时候从中调用。下面就说说具体实现方法。

  第一步,把数据存进项目。

  1、右键点击项目名称-添加-新建文件夹(英文版请自行翻译),这里文件夹名以image为例,把需要的图片拖进来,当然你也可以不建,直接把图片拖到项目项目录下,

  2、选中刚刚拖进去的图片,看右下角的属性标签,如果没有,右键点图片,选属性。生成操作选Resource.

  第二步,程序调用。

System.IO.Stream src = Application.GetResourceStream(new Uri("/PhoneApp4;component/image/a.png", UriKind.Relative)).Stream;

  关键在Uri的格式,PhoneApp4是项目名称,component是固定路径,image/a.jpg才是图片资源相对路径,得到的是Stream,在微软官方的例子中,使用下面的方法来转换成图片:

            BitmapImage bi = new BitmapImage();
bi.SetSource(src);
Image img = new Image();
img.Source = bi;
-----------------------------------------------------------------------------------------------------------------------
测试在使用过程正发现Application.GetResourceStream方法加载资源时得到的总是null原因是这样的,右键点击Properties->在Build Action选择Resource,如下图所示 使用Application.GetResourceStream方法加载资源时得到的总是null

然后重新编译一下运行就可以加载到资源了