簡體   English   中英

c# WPF 如何在 xaml window 加載時顯示我的進度條?

[英]c# WPF How to show my progressbar while the xaml window is loading?

我正在嘗試顯示我的進度條,而我的 WPF window 正在加載。 我成功填充了進度條,但它沒有顯示 請參閱屏幕截圖,看看我的意思是顯示ProgressBar 但是當 windows 已完全加載時,它會顯示 window 的每個組件何時加載。 當我在每個方法的末尾放置一些 MessageBox 來加載像這個屏幕截圖和這個屏幕截圖這樣的組件時,它正在做我想要的正確行為,所以我的問題是如何在 xaml window 正在加載時顯示我的進度條? 任何幫助,將不勝感激。

提前致謝

   private void DoWorkButton_Click(object sender, RoutedEventArgs e)
       {

             testProgressBar.Visibility = Visibility.Visible;
              ProgressTextblock.Visibility = Visibility.Visible;
               BackgroundWorker worker = new BackgroundWorker();
               worker.RunWorkerCompleted += worker_RunWorkerCompleted;
                worker.WorkerReportsProgress = true;
                worker.DoWork += worker_doWork;
                worker.ProgressChanged += worker_ProgressChanged;
                 worker.RunWorkerAsync();
    }

    private void worker_ProgressChanged(object sender, ProgressChangedEventArgs e)
    {
        testProgressBar.Value = e.ProgressPercentage;
        ProgressTextblock.Text = (string)e.UserState;
    }

    private void worker_doWork(object sender, DoWorkEventArgs e)
    {
        var worker = sender as BackgroundWorker;
        worker.ReportProgress(0, String.Format("Chargement des composants de la fenetre"));



    }

    private void worker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
    {
        MessageBox.Show("Fenetre chargée normalement");

    }

我在調用加載 window 的每個方法中都像這樣填充進度條

這就是您設置訂單的方式,我認為像這樣訂購它應該可以解決它:

 private void DoWorkButton_Click(object sender, RoutedEventArgs e)
   {
         testProgressBar.Visibility = Visibility.Visible;
         ProgressTextblock.Visibility = Visibility.Visible;
         BackgroundWorker worker = new BackgroundWorker();
         worker.WorkerReportsProgress = true; 
         worker.DoWork += worker_doWork;                         
         worker.ProgressChanged += worker_ProgressChanged;
         worker.RunWorkerCompleted += worker_RunWorkerCompleted;
         worker.RunWorkerAsync();
}

暫無
暫無

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

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