c# - 在进行 wpf 数据绑定(bind)时更新进度条(在 c# 中)

标签 c# wpf progress-bar backgroundworker

编辑 - 在尝试了一系列可能的解决方案(使用 backgroundworker 和单独的线程)之后,我发现这里的关键问题是让数据绑定(bind)被“中断”。由于进度条是一个动画圆圈(不是完成百分比),它需要以一致的时间间隔响应计时器事件以平滑动画(这就是为什么我不能一个一个地绑定(bind)数据然后发送“进度”更新的原因到 ui 线程)。有谁知道在进行数据绑定(bind)时允许动画发生?再次感谢大家的意见!

原问-

我将大型数据集绑定(bind)到 WPF 列表框,这可能需要很长时间(超过十秒)。在绑定(bind)数据时,我想显示 circular progress bar

在进行数据绑定(bind)时,我无法显示进度条,即使我正在尝试在后台工作程序中进行绑定(bind)。我通过将 backgroundworkd 的 dowork 事件的第一行设置为 Thread.Sleep(5000) 来测试它,并且确定进度条在这段时间内开始旋转,只是在绑定(bind)开始时卡住。

这是因为数据绑定(bind)和 UI 更新都必须在同一个线程上发生吗?关于如何解决它的任何想法?

感谢您的帮助!

最佳答案

关于使用 WPF 的很好的介绍 Dispatcher并且可以在 CodeProject 文章中找到进度条:WPF ProgressBar

这篇文章很短,但为更新 WPF UI 提供了一个很好的起点,同时需要在后台完成工作。

记住:默认情况下,所有工作都在 WPF 中的 UI 线程上完成。

关于c# - 在进行 wpf 数据绑定(bind)时更新进度条(在 c# 中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2784358/

相关文章:

c# - 为什么 IDataErrorInfo 在应用程序启动时显示错误

flutter ,计算的 Double 不适用于循环进度条

c# - 在本地运行的 Azure 保管库

c# - XAML 是否有用于 Debug模式的条件编译器指令?

c# - 如何在 WPF 中重用 XAML 标记?

javascript - 后退按钮不能与进度条一起正常工作

c - 使用线程实现进度控制

c# - 从 ASP.NET WebAPI 应用程序调用 Web 服务

c# - 如何在 .NET 3.5 中正确模拟

c# - 找不到查询模式错误的实现