从localhost加载图像在silverlight上不起作用
我正在制作简单的silverlight应用程序 我需要从localhost访问和使用一个映像 我这样写代码 Book4.Source=新的位图图像(新的Uri(“http://localhost/test/book2.png“,UriKind.Absolute”) 它不会产生任何错误,但无法加载任何图像 //另外,我没有使用asp。这是OOB应用程序 *已编辑:包括问题的其他内容。从localhost加载图像在silverlight上不起作用,silverlight,image,silverlight-4.0,localhost,Silverlight,Image,Silverlight 4.0,Localhost,我正在制作简单的silverlight应用程序 我需要从localhost访问和使用一个映像 我这样写代码 Book4.Source=新的位图图像(新的Uri(“http://localhost/test/book2.png“,UriKind.Absolute”) 它不会产生任何错误,但无法加载任何图像 //另外,我没有使用asp。这是OOB应用程序 *已编辑:包括问题的其他内容。 public void changeValue_book() { if
public void changeValue_book()
{
if (empty_book[3] == true && book_index == 3)
{
empty_book[3] = false;
Book4.Visibility = Visibility.Visible;
Book3.Visibility = Visibility.Visible;
Book3.Source = null;
Book3.Source = new BitmapImage(new Uri("http://localhost/test/book1.png", UriKind.Absolute));
//Book3.Source = new BitmapImage(new Uri("Resource/책1.png", UriKind.Relative));
}
else if (empty_book[4] == true && book_index == 4)
{
empty_book[4] = false;
Book5.Visibility = Visibility.Visible;
Book4.Visibility = Visibility.Visible;
Book4.Source = new BitmapImage(new Uri("http://localhost/test/book2.png", UriKind.Absolute));
}
else if (empty_book[5] == true && book_index == 5)
{
}
}
如果在导航到时能够从web浏览器访问所需的图像,请尝试以下操作:
Uri uri = new Uri("http://localhost/test/book2.png", UriKind.Absolute);
ImageSource imageSource = new BitmapImage(uri);
Book4.Source = imageSource;
已编辑
如果您的映像驻留在上,但您的Silverlight应用程序托管在https://中或从文件系统中,则根本无法加载映像。用于渐进式下载(媒体、图像、ASX等)的Silverlight Image类和MediaElement类不允许跨方案访问
有关更多详细信息,请参阅此链接:
可能是clientaccesspolicy.xml问题。当加载SL的站点地址与您要从中下载数据的地址不同时,可能会阻止SL。该clientaccesspolicy.xml文件还必须指定SL可以深入子目录。(这是一个例子) 现在我意识到,这个问题会引发一些跨域策略错误…
无论哪种方式,也要检查一下,以确定。您是否能够通过导航到从web浏览器访问所需的图像?我得到了另一个类似这样的答案。我没有以http身份访问。我使用C:/inetpub/wwwroot作为源代码,因此,我完成了我的问题,请帮助我理解您所说的“但它不再工作”的意思。它以前有用,现在不行了吗?您能从web浏览器访问该图像吗?它以前也不工作。我可以从我的web浏览器访问此图像。您是通过代码创建整个图像元素,还是只分配xaml文件中存在的图像元素的src属性?请提供用于创建映像的xaml或其他代码。感谢提供更多源代码。第三册、第四册、第五册的定义都在哪里?它们什么时候被添加到您的视图中?我已经编辑了我的答案,以包含一个新的解决方案,用于设置图像的源。试试看。