问候
问题
当我尝试将图像添加到我的silverlight项目时,我收到错误:"AG_E_NETWORK_ERROR"
。
重新创建
我创建了一个没有Web部件的新Silverlight 4项目。所以我只得到MyApplication。
在MyApplication中,我添加了一个名为“Images”的地图,在该地图中我添加了一些图像。 Egg.png,Chicken.png。
现在我希望将这些图像加载到我的silverlight项目中。在mainpage.xaml我放置:
<Image Source="/Images/Egg.png" />
但这不会加载。
所以我从代码背后尝试:
var imag = new BitmapImage(new Uri(@"\Images\Egg.png", UriKind.Relative));
imag.ImageFailed += (s, ea) =>
{
throw new Exception(ea.ErrorException.Message);
};
然而,这仍然会引发上述错误,而不是我尝试的错误。
图像被设置为资源并且“不要复制”。
[编辑]
评论后,我注意到图像正在原始项目中加载。
但我在一个不同的项目中有一个用户控件,我发送图像。从那里加载仍然失败。
我该如何解决这个问题? 我错过了什么吗?
答案 0 :(得分:2)
这是一个可怕的通用错误消息,但我认为问题可能只是无法找到文件。当您向Silverlight项目添加项目时,它们不会被复制到托管站点的ClientBin
文件夹中(即使在构建时,无论Copy to output directory
设置如何,因为这仅指示了当前的内容是什么project的bin
文件夹) - 您需要手动复制这些文件(或最终使用构建后的步骤),即:
ClientBin
文件夹以及.xap
文件。<强>更新强>:
那么,解决方案中没有网站部分,是否有资源进入Silverlight项目本身的bin
文件夹?如果没有,试试这个:
BuildAction
设置为Content
Copy to output directory
设为Copy Always
或Copy if newer
答案 1 :(得分:0)
解析XAML时:
<Image Source="/Images/Egg.png" />
将URI转换为适合查找图像的URI。如果您在代码隐藏中设置源代码,则必须自己进行此转换。 URI的格式为:
/MyNameSpace;Images/Egg.png
请参阅此相关问题: