我正在关注其中一个MSDN Windows Phone开发实验室简介,并遇到了this lab(Windows Phone应用程序可用控件简介)的问题。实验室提供起始文件和结束文件(即,完成实验后程序应该是什么样子)。
让我难过的实验室的特定部分是我从Assets文件夹中读取一系列图像,然后在屏幕上的ListBox中显示它们的点。每当此代码尝试运行时,它都会抛出Null Reference Exception:
public static BitmapImage GetImage(string filename)
{
string imgLocation = Application.Current.Resources["ImagesLocation"].ToString();
StreamResourceInfo imageResource = Application.GetResourceStream(new Uri(imgLocation + filename, UriKind.Relative));
BitmapImage image = new BitmapImage();
image.SetSource(imageResource.Stream);
return image;
}
我尽可能多地挖掘,而且imageResource总是以某种方式结束Null,而且我不能为我的生活找出它出错的地方。
我已经包含了两个项目here的链接(129 MB,对不起)。 “Begin”文件夹下的所有内容都是我到目前为止所做的(当我在运行时尝试导航到Images页面时抛出异常)。 “结束”文件夹下的所有内容都应该是最终看起来像,并且功能正常。
我是C#和WP7开发的新手,所以任何帮助都会非常感激。谢谢!
答案 0 :(得分:2)
尝试将.bmp的构建更改为“资源”。
以下是一些解释它的链接:
http://forums.silverlight.net/t/238891.aspx/1
Application.GetResourceStream called on a Content Resource still return null
答案 1 :(得分:1)
问题是当你在App.xaml
文件中设置images目录时,教程中有一个错误。您应该像这样设置应用程序资源ImagesLocation
:
<system:String x:Key="ImagesLocation">Begin;component/Assets/Images/</system:String>
Begin
是您的项目名称;component/
需要作为分隔符,最后Assets/Images/
是图像目录的相对路径。