图像无法从代码后面的BitmapImage正确加载

时间:2011-10-17 16:46:02

标签: c# silverlight silverlight-4.0

好的,我正在尝试将图片加载到我页面上的Image控件。据我所知,我知道如何做到这一点(我之前使用的方法已经有效)。但由于某种原因,这次它不起作用。图像未加载。

好的,让我们从XAML开始吧。 You can see it here.。请注意我出色的艺术技巧。您可以看到顶部图像是屏幕上的左图像,而底部图像是右图像。您还可以看到,右侧的图像从Assets / Images文件夹中的文件加载到XAML中。还应该注意的是,我们可以从中获取图像加载正常 - 图像没有错误。我们还可以看到图像没有被任何东西阻挡(当程序运行时,右图显示正常)。

所以左图像'image1'是我从后面的代码加载的图像。 Here is the code behind for that page。如你所见,并不是很多。是的我确实使用了视图模型,但它根本不与图像接口(它的唯一暴露属性是实体(对于选定的项)和实体的ObservableCollection(对于控件的ItemsSource))。正如您所看到的,我正在尝试加载与静态图像相同的图像(因此我可以肯定地说,图像可以用于Silverlight)。

如果您对BitmapCreateOptions行感到疑惑,那就是有人建议我添加的内容。我试过删除它,但这似乎没有任何区别。

接下来的问题是 - 我是否尝试过使用事件处理程序来解决问题?是的,我有。我得到的错误是'AG_E_NETWORK_ERROR'。

我不确定这到底是什么 - 我不是从网络上加载的。

有人可以提供帮助吗?感谢。

2 个答案:

答案 0 :(得分:0)

我不禁注意到在你的XAML中,你在图像路径的开头有一个“../”,但是你在代码隐藏中使用的路径中缺少这个。这可能是问题吗?

答案 1 :(得分:0)

您是否曾尝试在设置uri之前和之后调用BeginInit和EndInit?

BitmapImage bmpImg = new BitmagImage();
bmpImg.BeginInit();
bmpImg.UriSource = new Uri(...);
bmpImg.EndInit();

或者使用带有Uri的构造函数。 msdn