簡體   English   中英

WPF ProgressBar不顯示進度

[英]WPF ProgressBar doesn't show progress

WPF ProgressBar使我感到困惑。 這是我編寫的用於顯示它的代碼:

<ProgressBar Height="31" Margin="15" Name="progressBar" 
VerticalAlignment="Top" IsIndeterminate="True" />

據我所知,這足以使其正常工作。 但這在我的項目中不起作用。 我的意思是,當我顯示窗口(實際上是彈出窗口的xbap項目)時,進度條不顯示任何動畫,但是可見。

尚無后台線程,UI線程未被阻止。

怎么了?

尚無后台線程,UI線程未被阻止。

我認為您完全錯了,這就是您的問題。 您沒有后台線程,因此您的UI線程阻止。 如果更新進度條的方法正在UI線程上運行(如果不是在后台線程上運行),則直到該方法完成運行並且控件已完成,才會顯示進度條的更新。回到調度員。

您需要使用BackgroundWorker在后台線程上運行長時間運行的方法,並通過引發和處理其ProgressChanged事件來更新進度欄。 事件處理程序在UI線程上運行,並且可以更新UI對象。

它可能使用Windows主題,其中不確定的進度條未正確顯示。

請嘗試這些代碼

        ProgressBar test=new ProgressBar();
        Duration dr = new Duration(TimeSpan.FromSeconds(timespan));
        DoubleAnimation da = new DoubleAnimation(determination, dr);
        test.IsIndeterminate = false;
        test.Visibility = Visibility.Visible;
        test.BeginAnimation(ProgressBar.ValueProperty, da);

如果要ProgressBar工作,則應創建一個Animation實例,並將其設置為ProgressBar。可能有幫助!

暫無
暫無

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

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