我已经环顾四周,但我很难找到一种方式来实现以下:显示进度条,而网络浏览器加载在WPF
我有一个WPF应用程序用了一个Web浏览器控件。我有一个文件保存在磁盘上,我正在使用Navigate方法来加载文件。
我有一个事件处理程序附加到Web浏览器的LoadCompleted事件,这个工程。
但是,页面可能需要很长时间才能加载。我想显示一个进度条(最好在状态栏中,但是新窗口没问题),但我无法找到这样做。
我试过的每一件事情(后台工作者,线程)都说调用线程必须是STA,并且似乎进度条作为一个UI元素,只能在UI线程上更新 - 它被阻止在页面呈现期间由网页浏览器控制。
或者有没有办法在新的线程中运行Web浏览器控件?我猜测这不是因为这也是一个UI元素。
任何帮助,将不胜感激。
p.s.进度条是一个简单的不确定的栏;我不想更新状态 - 只是在页面加载时显示。
http://msdn.microsoft.com/en-us/library/ms144190.aspx – Paparazzi
这并不是说是数据的下载问题; Web浏览器控件会阻塞该线程,直到它下载并显示数据。而且,这可能会导致其他项目,如图像和JavaScript/CSS。 –