What is a good alternative to the WPF WebBrowser Control?


Staff member
I have an <a href="http://en.wikipedia.org/wiki/Multiple_document_interface" rel="nofollow noreferrer">MDI</a> WPF app that I need to add web content to. At first, great it looks like I have 2 options built into the framework the <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.frame.aspx" rel="nofollow noreferrer">Frame</a> control and the <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.webbrowser.aspx" rel="nofollow noreferrer">WebBrowser</a> control. Given that this is an <a href="http://en.wikipedia.org/wiki/Multiple_document_interface" rel="nofollow noreferrer">MDI</a> app it doesn't take long to discover that neither of these will work.

The WPF WebBrowser control wraps up the IE <a href="http://msdn.microsoft.com/en-us/library/aa741313(VS.85).aspx" rel="nofollow noreferrer">WebBrowser ActiveX Control</a> which uses the Win32 graphics pipeline. The "<a href="http://msdn.microsoft.com/en-us/library/aa970688.aspx" rel="nofollow noreferrer">Airspace</a>" issue pretty much sums this up as "Sorry, the layouts will not play nice together".<br>
<br />

Yes, I have thought about taking snapshots of the web content rendering these and mapping the mouse and keyboard events back to the browser control, but I can't afford the performance penalty and I really don't have time to write and thoroughly test it.
<br />

I have looked for third party controls, but so far I have only found <a href="http://chriscavanagh.wordpress.com/" rel="nofollow noreferrer">Chris Cavanagh's</a> <a href="http://wpfchromium.codeplex.com/" rel="nofollow noreferrer">WPF Chromium Web Browser</a> control. Which wraps up <a href="http://www.khrona.com/products/awesomium/" rel="nofollow noreferrer">Awesomium 1.5</a>. Together these are very cool, they play nice with the WPF layouts. But they do not meet my performance requirements. They are VERY HEAVY on memory consumption and not to friendly with CPU usage either. Not to mention still quite buggy. I'll elaborate if you are interested.
<br />

So, do any of you know of a stable performant <strong><em>WPF</em></strong> web browser control?