2013-04-23 44 views
0

我使用大约40张联机图片填充GridView。我已经得到了我的网格一个DataTemplate其中Image.Source绑定到URL(如“http://foo.jpg”),像这样:Windows应用商店 - 从网址加载图片 - 性能较差

<Image Source="{Binding imgUrl}" > 

的问题是,这种方法是很慢的,因为所有的图像都过来先下载互联网(图片的实际尺寸可以是500x500,尽管在应用程序中我只需要大约250x200的尺寸)。这会导致在需要一些时间的GridView中弹出40个图像。你怎么能改善这个?

预先下载到本地存储?缩放图像? ...

回答

0

我觉得你自己几乎可以回答这个问题。如果源URL很慢,你几乎别无选择,只能预先下载它们。除非你控制源代码,那么你就像你说的那样,如果质量变好的话,肯定会缩放和/或转换为更多格式,而不会像gif那样占用太多空间。

0

如果预先下载了一些你可以使用的东西,也许看看使用WebClient'sDownloadDataAsync。当下载完成事件启动时,您可以更新您的图像集。

+0

不幸的是,Windows应用商店应用不支持WebClient。 – Johann 2013-04-23 13:45:27

+1

啊,好吧。我没有意识到这一点。看起来像这样[回复](http://stackoverflow.com/a/9485128/609879)可能是WebClient的一个很好的解决方案, – Scott 2013-04-23 13:50:08