WPF中WebBrowser控件的替代方案?

时间:2010-08-30 03:08:46

标签: wpf

我们正在使用Web浏览器控件开发WPF应用程序。当用户拖动窗口时,Web浏览器会在拖动时滞后于窗口。

有谁知道如何解决这个问题?如果不这样做,是否有人知道Web浏览器控件本身的替代方案?

谢谢!

3 个答案:

答案 0 :(得分:4)

是的,只要您不需要IE特定功能,就可以使用Awesomium,它基本上提供了Google Chrome使用的相同浏览器引擎,但所有内容都是在纯WPF中呈现的。有一段时间它是开源的,但我相信它正在成为一种商业产品。

答案 1 :(得分:1)

我还没有听说过任何Native WPF WebBrowser控件。我所知道的唯一选项是基于Win32控件,它们被包装到WPF控件中以便显示。 (详见http://msdn.microsoft.com/en-us/library/ms752055.aspx

最近我必须将WPF包装器用于WebBrowser控件,并且对于开发人员可用的选项非常有限。在我的研究过程中,我发现您可以注入脚本或html内容以修改页面行为。此外,您可以调用.NET代码(例如来自Javascript的CSharp函数)。

但是,访问缓存,修改cookie等任务很困难,或者更改Web浏览器行为非常困难。这时您将不得不使用DLL Imports来调用非托管例程(请参阅http://msdn.microsoft.com/en-us/library/aa984739(v=vs.71).aspx

可以寻找替代的WebBrowser控件,例如:

http://code.google.com/p/csexwb2/

http://wpfchromium.codeplex.com/

我希望这会有所帮助

答案 2 :(得分:0)

您可以尝试使用Chromium作为基本浏览器的CefSharp.Wpf。你可以在NuGet上找到它