【发布时间】:2015-08-12 12:24:53
【问题描述】:
我有一个带有选项卡的 wpf 应用程序,该选项卡显示 WebBrowser 控件,该控件加载给定客户的订单页面。此页面有几个对文档和框架的调用,之后控件会在 UI 中正确呈现内容。
我们计划为此选项卡实现一个进度条指示器,并且我们使用了一个带有后台工作器的进度条。
我们在 BrowserNavigating() 事件上将进度条显示属性设置为 true,并在浏览器控件的 DocumentComplete() 上将显示属性设置为 false。 由于我正在这样做,因此在所有 http 调用成功完成之前,进度条不会连续显示在 UI 中。所以它会时断时续,最终会导致糟糕的用户体验。
当我们尝试加载订单页面时,它至少会向服务器发出 6-10 次 http 调用。那么我们可以等待所有调用完成,然后才隐藏进度条吗?如何跟踪这些异步调用?
我在想我们可以使用某种数据结构(例如 Circular LL)来存储所有调用(BrowserNavigating 和 DocumentComplete),但是在等待 DocumentCompelte 事件之前,我如何知道是否所有调用都被触发了?
【问题讨论】:
标签: c# .net wpf webbrowser-control