具有两种状态(忙碌和进度)的 WPF 进度条

Rol*_*ain 0 c# wpf progress-bar

我有一个简单的程序,它有两个长时间运行的任务要执行:

  1. 复制大量包含数据库的文件夹
  2. 使用那些复制的数据库。

我想要做的是:这些长时间运行的进程在一个额外的线程中运行,其中包含更新我的 GUI 的不同变量 - 例如当前的进度条正在工作,还有我需要在 GUI 上显示的所有消息。但是,目前,我只能将进度条用于第二个任务(使用数据库) - 文件夹和文件的复制以递归方式完成(为每个需要复制的子文件夹调用自身)我不知道会复制多少文件夹。因此,在复制进行时,我希望进度条显示忙碌指示(像这样),完成后它应该是 dbs 上工作的标准进度条。

这样的解决方案是否可能以一种干净的方式出现?

Ral*_*alt 6

在 中WPFProgressBar有一个属性IsIndeterminate正是这样做的。

<ProgressBar IsIndeterminate="True" />
Run Code Online (Sandbox Code Playgroud)

设置为 true 时,进度条将无限“旋转”并且不会在范围内显示进度。