8
使用WPF / C#嵌入Chromium而不是IE WebBrowser控件的选项
基于Internet Explorer的WPF WebBrowser控件遭受一些键盘和焦点问题以及内存泄漏问题的困扰。作为这些问题的替代解决方案,我们正在考虑基于HTML编辑的WPF / C#项目中用于托管Chromium的可用选项,而不是WebBrowser控件。以前在这里已经问过类似的问题。我已经阅读了答案并进行了自己的研究,但我希望从实际在生产质量项目中使用以下任何选项的人那里获得更多反馈: Awesomium和Awesomium.NET 看起来非常合适,但是我不喜欢该项目不是开源的,并且不容易获得完整的源。同样,这对于我们的项目可能是一个过大的杀伤力,因为屏幕外渲染并不是我们真正依赖的东西。 用于CEF的Chromium嵌入式框架(CEF)和.NET绑定 这可能是当前可用的最佳选择。该项目似乎正在运行,目前正在与Chrome v27同步。CEF3使用Chrome多进程架构。看起来Adobe也在认可它。 Google的Chrome内嵌框架 虽然它的最初目的是成为IE和Firefox的HTML5插件,但实际上它也可以作为独立的ActiveX控件使用,因此我可以将其包装以与WPF一起使用。它提供了足够的API与内部网页(onmessage, addEventListener/removeEventListener, postMessage)进行交互。我知道Google将会停止使用 Chrome Frame,但是我认为来源仍将保留在Chromium存储库中。我们不难用最新的Chromium代码对其进行更新,并且我们将对此进行完全控制。 WebKit .NET包装器 并非完全基于Chromium,也不使用V8引擎,因此它并不是真正的选择。 还有其他我可能会忽略的选择吗? 如果有人将他/他的经验分享给现实生活中,具有生产质量的WPF项目,我将非常感激。您是否有任何集成,许可或部署方面的内容?谢谢。 [编辑] 我也要感谢artlung通过提供慷慨的赏金来推动这个问题的发展。