WPF中WebBrowser控件的替代方案是什么?

6

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

有没有人知道如何解决这个问题?如果无法解决,是否有其他替代Web浏览器控件的方法?

谢谢!

3个回答

4

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


1

我没有听说过任何原生的WPF WebBrowser控件。我所知道的唯一选项是基于Win32控件,这些控件被包装成WPF控件以便显示。(更多细节请参见http://msdn.microsoft.com/en-us/library/ms752055.aspx

最近我不得不使用WPF封装器来控制WebBrowser,但开发人员可用的选项非常有限。在我的研究中,我发现您可以注入脚本或HTML内容以修改页面行为。此外,您还可以从Javascript调用.NET代码(例如CSharp函数)。

然而,访问缓存、修改cookie或更改Web浏览器行为等任务都是非常困难的。这时,您将不得不使用DLL导入来调用未经管理的例程(请参见http://msdn.microsoft.com/en-us/library/aa984739(v=vs.71).aspx

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

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

http://wpfchromium.codeplex.com/

希望这能有所帮助


0

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接