【发布时间】:2011-01-13 20:49:18
【问题描述】:
在我的 WPF 项目中,我需要呈现基于 HTML 的内容,其中内容存储在我的 WPF 项目引用的资源程序集中。
我查看了 WPF 框架和 WebBrowser 控件。不幸的是,它们都只公开 Navigation 事件(Navigating、Navigated),而不是任何允许我根据请求的 URL 返回从资源程序集中检索的 HTML 内容的事件。
我可以使用 Navigating 事件和 NavigateToString() 方法拦截导航请求并提供 HTML 内容。但这不适用于拦截图像、CSS 文件等的加载调用。
此外,我知道HTML to Flowdocument SDK sample application 可能有用,但我可能不得不大幅扩展示例以处理图像和样式表。
值得一提的是,我们还生成了要呈现的 HTML 内容(通过 Wiki 页面),因此在引用图像位置和使用的 CSS 样式表方面,源 HTML 在某种程度上是可预测的(例如,可能没有 JavaScript)。我们希望显示来自互联网的随机 HTML 内容。
更新: 还可以为每个 HTML 页面创建一个 MHT 文件,这会将所有图像“内联”为 MIME 类型,并减少对更细粒度回调的需求。
【问题讨论】: