0

我正在关注 MSDN Introduction to Windows Phone Development labs 之一,并且在这个实验室中遇到了问题(Introduction to Controls Available for Windows Phone Applications)。实验提供了起始文件和结束文件(即实验完成后程序的外观)。

让我难过的实验室的特定部分是我从 Assets 文件夹中读取一系列图像,然后将它们显示在屏幕上的 ListBox 中。每当此代码尝试运行时,它都会引发空引用异常:

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 ,而且我一生都无法弄清楚哪里出了问题。

我在这里包含了两个项目的链接(129 MB,抱歉)。“开始”文件夹下的所有内容都是我迄今为止所做的(当我在运行时尝试导航到图像页面时会引发异常)。“结束”文件夹下的所有内容都是它应该最终看起来的样子,并且可以正常工作。

我对 C# 和 WP7 开发非常陌生,因此将不胜感激任何帮助。谢谢!

4

2 回答 2

2

尝试将 .bmp 的构建更改为“资源”。

这是几个解释它的链接:

http://forums.silverlight.net/t/238891.aspx/1

对内容资源调用的 Application.GetResourceStream 仍然返回 null

于 2012-09-01T00:47:58.823 回答
1

问题是当您在App.xaml文件中设置图像目录时,教程中有一个错误。您应该设置应用程序资源,ImagesLocation如下所示:

<system:String x:Key="ImagesLocation">Begin;component/Assets/Images/</system:String>

在哪里Begin需要您的项目名称;component/作为分隔符,最后Assets/Images/是您的图像目录的相对路径。

于 2012-09-19T20:07:57.870 回答