none
Bob,Bao!关于GridiView中的item 数据绑定异步下载图片的问题! RRS feed

  • 问题

  • 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
    2012年10月14日 15:19

答案

  • Bob的意思是:

     <DataTemplate x:Key="FocusItemTemplate">
             <Grid Background="#3a8ed5">
                 <Image Source="{Binding DefaultImage}" Stretch="Fill"/>
                 <Image Source="{Binding ImageContent}" Stretch="Fill"/>
             </Grid>
         </DataTemplate>


    Thanks! Damon.Tian

    • 已标记为答案 alvinli87 2012年10月16日 7:44
    2012年10月16日 6:35

全部回复