0

我已經從絕對URL下載了200個圖像並存儲在獨立存儲中。我想要在我的列表或堆疊面板中逐個顯示。我希望堆疊面板顯示加載符號,直到下載完成並將第200張圖像存儲在獨立存儲器中。想要加載符號,直到存儲過程在隔離存儲中完成

 if (h < 150) 
     { 

      WebClient m_webClient = new WebClient(); 

      Uri m_uri = new Uri("http://d1mu9ule1cy7bp.cloudfront.net/2012/media/catalogues/47/pages/p_" + h + "/IKEA_mobile_high.jpg"); 

      m_webClient.OpenReadCompleted += new OpenReadCompletedEventHandler(webClient_OpenReadCompleted); 

      m_webClient.OpenReadAsync(m_uri); 

     } 
    } 

    void webClient_OpenReadCompleted(object sender, OpenReadCompletedEventArgs e) 
    { 
     int count; 

     try 
     { 
      Stream stream = e.Result; 

      byte[] buffer = new byte[1024]; 


      using (IsolatedStorageFile isf = IsolatedStorageFile.GetUserStoreForApplication()) 
      { 

       //isf.Remove(); 


       using (System.IO.IsolatedStorage.IsolatedStorageFileStream isfs = new IsolatedStorageFileStream("IMAGES" + loop2(k) + ".jpg", FileMode.Create, isf)) 
       { 
        count = 0; 

        while (0 < (count = stream.Read(buffer, 0, buffer.Length))) 
        { 
         isfs.Write(buffer, 0, count); 
        } 

        stream.Close(); 
        isfs.Close(); 
       } 
      } 
     } 



     catch (Exception ex) 
     { 
      MessageBox.Show(ex.ToString()); 
     } 

     GetImages(); 

    } 
} 

}

+0

而你的問題是什麼? – 2012-03-28 15:39:54

+0

我想顯示進度條並在我的頁面中顯示完成的下載過程的百分比,直到在孤立存儲中下載的所有圖像。我已經通過上面顯示的代碼下載了圖像。 – 2012-03-29 06:38:46

回答

0

如果你想要做的是顯示這個長時間運行任務的進度,然後只需添加一個ProgressBar。將其設置爲Minimum爲0,即Maximum至200(或者您要下載的許多圖像),然後當每個圖像下載報告完成時,只需將ProgressBar的Value加1即可。

所有圖像下載完成後(即Value == Maximum),您知道可以刪除您的加載指示器。

您應該考慮爲用戶提供一種取消下載的方式,以及您是否真的必須在應用程序可以使用之前下載所有圖像。