WPF异步操作与进度条更新实现

WPF 的BackgroundWorker组件挺好用的,能帮你在后台执行一些耗时操作,同时不影响主线程的响应速度。比如,当你点击一个按钮后,后台的任务就能异步执行,进度条也能实时更新,用户体验会更加顺畅。你可以在DoWork事件中放置耗时操作,在ProgressChanged里更新进度条,在RunWorkerCompleted里任务完成后的操作。相当简单,也常见。关键是使用BackgroundWorker时,UI 不会被卡住,响应也快。如果你正在做一个有长时间操作的 WPF 应用,记得用这个技巧。再简单不过了。哦,对了,别忘了设置WorkerReportsProgresstrue,这样就能随时报告进度了!

rar
WpfTestBackgroundworker.rar 预估大小:37个文件
folder
WpfTestBackgroundworker 文件夹
folder
WpfTestBackgroundworker 文件夹
file
WpfTestBackgroundworker.csproj 4KB
file
WpfTestBackgroundworker.csproj.user 227B
file
ProgressWindow.xaml.cs 2KB
file
App.xaml.cs 319B
file
MainWindow.xaml.cs 816B
file
MainWindow.xaml 514B
folder
Properties 文件夹
file
Settings.settings 201B
file
Resources.Designer.cs 3KB
file
AssemblyInfo.cs 2KB
file
Settings.Designer.cs 1KB
file
Resources.resx 5KB
file
ProgressWindow.xaml 1KB
file
App.xaml 334B
folder
obj 文件夹
folder
Debug 文件夹
file
WpfTestBackgroundworker.csproj.GenerateResource.Cache 789B
file
WpfTestBackgroundworker.g.resources 2KB
file
WpfTestBackgroundworker.exe 12KB
file
WpfTestBackgroundworker.pdb 38KB
file
WpfTestBackgroundworker.Properties.Resources.resources 180B
file
WpfTestBackgroundworker_MarkupCompile.cache 329B
folder
TempPE 文件夹
file
MainWindow.g.cs 3KB
file
WpfTestBackgroundworker_MarkupCompile.i.cache 329B
file
DesignTimeResolveAssemblyReferencesInput.cache 7KB
file
ProgressWindow.baml 1KB
file
WpfTestBackgroundworker.csproj.FileListAbsolute.txt 1KB
file
App.g.i.cs 2KB
file
ProgressWindow.g.i.cs 4KB
file
WpfTestBackgroundworker.csprojResolveAssemblyReference.cache 2KB
file
ProgressWindow.g.cs 4KB
file
MainWindow.baml 891B
file
App.g.cs 2KB
file
MainWindow.g.i.cs 3KB
folder
bin 文件夹
folder
Debug 文件夹
file
WpfTestBackgroundworker.exe 12KB
file
WpfTestBackgroundworker.pdb 38KB
file
WpfTestBackgroundworker.vshost.exe.manifest 490B
file
WpfTestBackgroundworker.vshost.exe 21KB
file
WpfTestBackgroundworker.sln 959B
file
WpfTestBackgroundworker.v11.suo 38KB
rar 文件大小:60.03KB