其中一个或遗留应用程序(WinForms)使用WebBrowser-Control显示html文件。 html文档本身对其他文件(css,js,images等)有很多引用。所有文件 - 包括html文件本身 - 都位于一个zip文件中,应该保留在那里。因此,提取文件是没有选择的。
在当前的重构阶段,我们将GUI切换到WPF并进行其他优化。其中一个优化涉及解析我们的html文档的引用文件。现在我们使用一个自定义协议实现,它有很多Interop和其他我想要删除的东西。
最近我在WinRT中发现了一个不错的新功能。 IUriToStreamResolver 界面。该接口只定义了一个方法--UriToStreamAsync。该接口的实现可以传递给WebView控件的 NavigateToLocalStreamUri ,并处理解析加载到WebView中的所有资源。
有没有办法在普通的.Net WPF应用程序中完成这样的事情,还是我们必须坚持使用旧的自定义协议方法?有没有人遇到过这种情况?
此致 多米尼克
答案 0 :(得分:0)
几年前我遇到了类似的问题,但没有找到可接受的IE控制解决方案。但您可以使用Chromium Embedded Framework for Sharp或Gecko Sharp。我记得他们有这样的方法。对我来说不好,他们没有足够的方法来达到我的目的,但可能对你来说是可以接受的。 或者你可以保持原样,异步可插拔协议不是那么糟糕。