WPF中實現實時更新progressbar
轉帖|其它|編輯:郝浩|2011-08-17 14:52:01.000|閱讀
2885 次
概述:實現實時更新ProgressBar貌似有很多方法,我搜索的很多資料都要用線程,覺得還是有點兒麻煩,最后在國外的技術論壇上看到一個用代理解決的方法,下面就是我的調試過程:
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
實現實時更新ProgressBar貌似有很多方法,我搜索的很多資料都要用線程,覺得還是有點兒麻煩,最后在國外的技術論壇上看到一個用代理解決的方法,下面就是我的調試過程:
1. 先來看ProgressBar的代碼
- <ProgressBar Height="20" HorizontalAlignment="Left" Margin="8,167,0,0"
Name="pb_import" VerticalAlignment="Top" Width="243" />
2. 接下來是后臺的代碼,先是函數外的代理預定義,接下來就是內部的代理聲明,接著調用for循環中的函數就行了,我的代碼是for循環獲取網絡回復然后更新進度條(progressbar),除progessbar相關的代碼被刪除了,你可以自由組裝下面的代碼。
- private delegate void UpdateProgressBarDelegate
(System.Windows.DependencyProperty dp, Object value);
-
-
- private void beginImport()
- {
- pb_import.Maximum = 100;
- pb_import.Value = 0;
-
- UpdateProgressBarDelegate updatePbDelegate =
new UpdateProgressBarDelegate(pb_import.SetValue);
-
- for (int i = 0; i < 100; i++)
- {
- Dispatcher.Invoke(updatePbDelegate, System.Windows.
Threading.DispatcherPriority.Background, new object[]
{ System.Windows.Controls.ProgressBar.
- ValueProperty,Convert.ToDouble( i + 1) });
- }
- }
3. 至于會用到的命名空間,你自己看著辦吧,別太省事了。
標簽:
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:CSDN