我正在使用大约40张在线图片填充GridView
。我的网格有一个DataTemplate,其中Image.Source
绑定到URL(例如“http://foo.jpg”),如下所示:
<Image Source="{Binding imgUrl}" >
问题是,这种方法非常慢,因为所有图像必须首先通过互联网下载(图像的实际尺寸可以是500x500,尽管在应用程序中我只需要大约250x200的尺寸)。这会导致40张图像在GridView
中弹出,这需要一些时间。你怎么能改善这个?
将它们预先下载到本地存储?缩放图像? ...
答案 0 :(得分:0)
我想你自己几乎已经回答了这个问题。如果源URL很慢,那么你几乎别无选择,只能预先下载它们。除非你控制源,然后就像你说的那样,如果质量好的话,肯定会缩放和/或转换为不需要像gif那样占用太多空间的格式。
答案 1 :(得分:0)
如果预先下载了一些您可以使用的内容,可以考虑使用WebClient's DownloadDataAsync。当下载完成事件触发时,您可以更新图像集。