我们正在开发一个使用Web浏览器控件的WPF应用程序。当用户拖动窗口时,Web浏览器会滞后于窗口。
有没有人知道如何解决这个问题?如果无法解决,是否有其他替代Web浏览器控件的方法?
谢谢!
我们正在开发一个使用Web浏览器控件的WPF应用程序。当用户拖动窗口时,Web浏览器会滞后于窗口。
有没有人知道如何解决这个问题?如果无法解决,是否有其他替代Web浏览器控件的方法?
谢谢!
是的,只要您不需要使用IE特定功能,您可以使用Awesomium,它基本上提供了与Google Chrome使用的相同的浏览器引擎,但所有内容都以纯WPF渲染。一段时间以来,它一直是开源的,但我相信它正在成为商业产品。
我没有听说过任何原生的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/
希望这能有所帮助
你可以尝试使用CefSharp.Wpf,它使用Chromium作为基础浏览器。你可以在NuGet上找到它。