我用for动态添加20个image控件,每个image都要网页上下载预览图片,写好代码后,我发现这玩意要20个图片全部下完了再显示出image控件,20个预览图要下好久呀。
能不能添加一个image,马上显示一个?
那个children.add我写在for里面了呀,我原本理解的是他生成就立刻显示出来,看起来好像不对,该从什么方向入手?
至少给个百度关键词方向,我去找找……

解决方案 »

  1.   

    预览之前把 图 下载到本地  在指定source
      

  2.   

    我就是先下载预览图片的,但是我看了本地文件夹,还是20个图片一个个下载,不下完不显示控件,下完就一下子全部显示出来了
    https://9gkczg.dm2301.livefilestore.com/y3mQnk1Jna9hZ8iTHbGxNOckwgHhQnsg5Vp1O84Uap5w1GxV8iGvzA-aJu_PLzyuQE-DPbXc86YjfNrXSfQ2J97ugpUX_urbVjUdPrKGQ_wfjyDoxUL99oAY_dRuL_6ac0PWSqZG47cJwQMX5KiHdn7JBk_GO-7GXEfPIIhedy_89k?width=895&height=756&cropmode=none
    论坛怎么贴图片呀,那个上传按钮一直转,一直转……
      

  3.   

    上面那个链接下下来的文件改成jpg后缀就好了,那是我截图的代码……我晕,论坛可以贴代码。傻了。
    搜索网页源码.搜索(链接, 磁盘路径, id, 标签, 预览地址, 磁盘路径序列_下载图片用);                int x = 0;
                    int y = 0;
                    int 计数 = 0;
                    string 图片框名字 = null;                
                    string[] 磁盘路径序列;
                    string 磁盘路径初始 = 磁盘路径;
                    磁盘路径序列 = new string[20];                for (int i = 0; i < 20; i++)
                    {
                        磁盘路径序列[i] = 磁盘路径初始 + id[i].Substring(42) + ".jpg";
                    }
                    //开始动态加载image控件
                    for (int i = 0; i < 5; i++)
                    {
                        for (int j = 0; j < 4; j++)
                        {
                            获取网页源码.网页源码操作(预览地址[计数], 磁盘路径序列_下载图片用[计数]);
                            Image image_n = new Image();
                            image_n.BeginInit();
                            图片框名字 = "图片框" + "_" + id[计数].Substring(42);
                            image_n.Name = 图片框名字;
                            image_n.DataContext = 标签[计数];
                            Uri 地址 = new Uri(磁盘路径序列[计数], UriKind.Absolute);
                            BitmapImage 图 = new BitmapImage(地址);                        
                            image_n.SetValue(Image.SourceProperty, 图);                        
                            image_n.Width = 150;
                            image_n.Height = 150;
                            image_n.EndInit();
                            x = x + 150;
                            wp.Children.Add(image_n);
                            image_n.MouseDown += new MouseButtonEventHandler(image_MouseLeftButtonDown); 
                            计数 += 1;
                        }
                        y = y + 150;
                        x = 0;
                    }
                }@duanzi_peng
    就是上面的这个,我希望的是下载完一个图片,立刻在容器wp里面显示出来,但是,运行结果是,一直等,等到20个图片全部下载完成,才一起全部显示出来。
      

  4.   

    每添加一个图片就对容器进行一次刷新即可https://www.cnblogs.com/FengShenMeng/p/6054571.html