积极答复者
Bob,Bao!关于GridiView中的item 数据绑定异步下载图片的问题!

问题
-
GridVeiw中的每个item都绑定了以下这个样式.
<DataTemplate x:Key="FocusItemTemplate">
<Grid Background="#3a8ed5">
<Image Source="{Binding ImageContent}" Stretch="Fill"/>
</Grid>
</DataTemplate>ImageContent如下:
public BitmapImage ImageContent
{
get
{
if (this._imageContent == null && this._imagePath != null)
{
this._imageContent = new BitmapImage(new Uri(this._imagePath));
this._imageContent.DownloadProgress += _imageContent_DownloadProgress;
if (_imageContent == null)
{
this.ImageContent = new BitmapImage(SampleDataCommon._baseUri);
}
}
return this._imageContent;
}
set
{
this._imagePath = null;
this.SetProperty(ref this._imageContent, value);
}
}但是我想在image还没下载完之前是显示一张默认图片,然后下载完成再显示下载的图片.是继承GridView然后再PrepareContainerForItemOverride方法里面重写么?还是其他方法,该怎么实现?
- 已编辑 alvinli87 2012年10月14日 16:22
答案
全部回复
-
我建议你在DataTemplate中放两张图片Image, 默认那个置于顶层,他的Visibility 绑定到你的一个属性上。然后在你下载完成后改变这个绑定的属性,使Visibility 为不显示,则可以到到你的效果。
Bob Bao [MSFT]
MSDN Community Support | Feedback to us
-
-
分享一个完整的有进度条的例子吧:
https://skydrive.live.com/#cid=51B2FDD068799D15&id=51B2FDD068799D15%211125
Bob Bao [MSFT]
MSDN Community Support | Feedback to us