【发布时间】:2010-09-05 14:04:34
【问题描述】:
这是我需要的(有点难以解释):
我有 2 个窗口控件: MainWindow 和 FileMover 和 1 个实用程序类: 文件监视器
MainWindow 创建了一个新的 FileMonitor 对象,用于测试它的 Loaded 事件,该事件创建一个 FileSystemWatcher 和一个 Timer 对象。 FileSystemWatcher 监视给定文件夹的 Created 和 Changed 事件,并将 Timer 添加为某种事件缓冲区(例如,将文件夹或大文件复制到正在监视的文件夹时,这会生成几个事件。我只想对第一个事件,而不是其余的)。这意味着,直到计时器停止并生成其 Elapsed 事件才创建 FileMover 窗口。这个窗口有一些基本的文件/文件夹复制/移动逻辑和一个显示当前状态的 ProgressBar 控件。
我的问题是: ProgressBar 控件在文件处理期间不会更新。只有当复制/移动方法返回时,进度条才会更新。 我已经尝试使用 FileMover 的调度程序和 ProgressBar 调度程序,但这些都不起作用。
如果我上面的内容很不清楚,请告诉我! 这是我的来源:
(由于站点限制,必须将两个源文件都粘贴到 1 个中。)
【问题讨论】:
标签: c# .net wpf multithreading dispatcher