0

我正在开发一个有 4 个面板的应用程序。第一个面板显示静态图像,第二个面板加载网页。由于我将按顺序导航,因此我想在实际访问之前将网页加载到第二个面板中。如何实施?不可能使用新线程或后台工作者,因为它们不是线程安全的。有更好的方法吗?如何在不冻结我的用户界面的情况下加载网页,是否可以在我实际访问它之前加载它?

4

2 回答 2

2

您在这里没有选择,WebBrowser 类基本上是线程不安全的,并且具有硬线程亲和性。有很多方法可以在单独的线程上运行它,这个答案向您展示了如何。但只要您需要它在 UI 上呈现页面内容,那么您就必须编写异步代码。无论您做什么,都必须在 DocumentCompleted 事件处理程序中实现。一个简单的状态机可以创造奇迹。

于 2012-08-18T12:29:02.380 回答
-1

Dispatcher.BeginInvoke(the_method_loading_the_page)

应该修复它。

于 2012-08-18T12:02:05.480 回答