0
我希望我的應用程序在執行某些組件檢查時顯示正在運行的進度條。但是,由於我在桌面應用程序編程和WPF方面的知識不足,我無法找到合適的位置。何時啓動WPF進度條
我試圖在Window_Loaded()
,ContentRendered()
期間顯示遞增的進度條,但沒有運氣。
而不是顯示progressBar增加,它只顯示進度條的最終狀態。
下面是代碼
public partial class Loading : Window
{
public Loading()
{
InitializeComponent();
SetProgressBar();
this.Show();
CheckComponents();
}
private void CheckComponents()
{
System.Threading.Thread.Sleep(3000);
CheckProductionDBConnection();
pgrsBar.Value = 30;
System.Threading.Thread.Sleep(3000);
CheckInternalDBConnection();
pgrsBar.Value = 60;
System.Threading.Thread.Sleep(3000);
CheckProductionPlanning();
pgrsBar.Value = 90;
//MainWindow mainWindow = new MainWindow();
//mainWindow.Show();
}
private void SetProgressBar()
{
pgrsBar.Minimum = 0;
pgrsBar.Maximum = 100;
pgrsBar.Value = 0;
}
//more code down here...
我應該在哪裏放置CheckComponents()
方法?
聽起來並不像我想像的那樣簡單。感謝壽。我只注意到WPF與正常的窗體非常不同。 – 2012-08-09 03:13:46
只是好奇又是什麼?這叫什麼? 'this.Dispatcher.BeginInvoke(new Action(()=> pgrsBar.Value = 90)); '這是lambda嗎? – 2012-08-09 03:28:58
This Works!只需將'CheckProductionDBConnection();'更改爲this.Dispatcher.BeginInvoke(new Action(()=> CheckProductionDBConnection()));'以避免線程擁有錯誤。其他檢查功能也一樣。再次感謝! – 2012-08-09 03:47:44