我正在制作一个Silverlight应用程序,当用户用鼠标悬停某些标签栏时,他/她将看到它将链接到的页面的预览。这种预览的原因在于,只是拥有页面的视觉缩影通常足以为用户做出决定。我如何在Silverlight中创建一个只显示网页的控件,最好按比例缩小?
干杯
的Nik
答案 0 :(得分:2)
您可能已经注意到,在Silverlight中存在与跨域边界相关的一些问题。已经在堆栈溢出for example上讨论过的问题。
这是相关的,因为通常您无法在其他域中请求您需要在此处执行的网络资源。
我看到解决此问题的一种方法是使用不具有相同限制的Web服务。因此,您可以创建一个Web服务,该服务公开图像的byte []并让Web服务执行调用以检索图像并将其发送回Silverlight。
一旦你得到了图像字节[],就可以在异步调用中读取它,并像这样设置图像源。
BitmapImage thumb;
using (MemoryStream stream = new MemoryStream(imgArray))
{
thumb = new BitmapImage();
thumb.SetSource(stream);
}
另一个问题是如何生成缩略图,您可以google,有一些项目向您展示如何以及为您执行此操作的一些公共Web服务。 Amazon's就是这样一个例子。