簡體   English   中英

等待循環,直到其他任務完成

[英]For loop wait untill other task is complete

我的問題是我有這個上傳隊列,當我將x數量的文件放入隊列時,它只顯示最后一個文件,因為for循環進行得太快了。

for (i = 0; i < uploadFileList.Count; i++)
{
    if (percentage == 100)
    {
     projects_tab.IsEnabled = true;
     wait_for_upload_text.Visibility = Visibility.Hidden;
     ModelUploadTXT.Text = "Upload done!";
     FooterProgressBar.Value = 0;
     FooterProgressBar.Foreground = Brushes.LimeGreen;
     cancel_upload_model_button.Visibility = Visibility.Hidden;
     SelectedFileText.Text = "Choose model(s) to import!"; 

     try
       {
       uploadClient.Dispose();
       }
     catch (Exception asd)
       {

       }
     }
     else
         {
          choosedProjetName = uploadFileList[i];
          ShowHome();
          cancel_upload_model_button.Visibility = Visibility.Visible;
          ModelUploadTXT.Text = "Uploading " + choosedProjetName + FooterProgressBar.Value.ToString("f0") + " % " + (bytesIn / 1000000).ToString("f2") + "Mb /" + (totalBytes / 1000000).ToString("f2") + "Mb";
          FooterProgressBar.Foreground = Brushes.Orange;                       
         }

}

我嘗試使用

Task.Delay(1)

System.Theading.Thread.Sleep(1)

解決這個問題,但是他們沒有成功。 因此,我基本上需要等待的百分比是100,然后再轉到下一個索引。

嘗試使用While條件保存代碼。

for (i = 0; i < uploadFileList.Count; i++)
{
    choosedProjetName = uploadFileList[i];
    ShowHome();
    cancel_upload_model_button.Visibility = Visibility.Visible;
    ModelUploadTXT.Text = "Uploading " + choosedProjetName + FooterProgressBar.Value.ToString("f0") + " % " + (bytesIn / 1000000).ToString("f2") + "Mb /" + (totalBytes / 1000000).ToString("f2") + "Mb";
    FooterProgressBar.Foreground = Brushes.Orange;                       

    while (percentage < 100)
    {
        continue;
    }

    projects_tab.IsEnabled = true;
    wait_for_upload_text.Visibility = Visibility.Hidden;
    ModelUploadTXT.Text = "Upload done!";
    FooterProgressBar.Value = 0;
    FooterProgressBar.Foreground = Brushes.LimeGreen;
    cancel_upload_model_button.Visibility = Visibility.Hidden;
    SelectedFileText.Text = "Choose model(s) to import!"; 

     try
       {
       uploadClient.Dispose();
       }
     catch (Exception asd)
       {

       }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM