wpf web浏览器控件有哪些局限性?

时间:2009-08-26 19:15:27

标签: c# .net wpf browser

WPF Web浏览器控件有哪些限制?对于真实的浏览器实现来说它是否足够好?它是一个完全托管的实现吗?

3 个答案:

答案 0 :(得分:2)

WPF WebBrowser控件只是一个托管IE ActiveX控件的互操作层。它应该非常强大,可用于现实生活中的浏览器(因为它确实是IE)。它不是托管实现。

它的主要限制是由于它在内部使用HwndHost。这意味着它具有WPF / Native空域问题,以及事件处理的一些小问题。

答案 1 :(得分:1)

这对于现实生活的使用已经足够了,我同意Reeds对此事的看法。

另外,如果某人在他们的计算机上没有某些IE文件,则该控件将变得无用。以下是我发现的一些观察到的限制:

  • 我发现使用WebBrowser控件是在计算机上尝试在控件中执行JavaScript插入时对IE6的仇恨。 (虽然非常特定于机器,所以你可以说缺乏完全兼容性?)
  • 您需要实际引用IE的主要程序集才能获得某些功能,例如获取比HtmlElement更有用的功能。
  • 缺乏对某些2.0版本功能的支持,例如“抑制脚本错误”。
  • 与WPF布局系统不兼容
  • 再次由于它是IE的包装器,所以像CSS这样的所有兼容性问题仍然存在,以及大多数(如果不是所有)IE存在的问题。

总而言之,控件可以大大改进,老实说,看到.NET团队制作这个组件的完全托管版本真是太棒了。

干杯,

凯尔

答案 2 :(得分:0)

添加@Kyle和@Reed的答案,以下是我的观察作为限制。

  • 我们无法在此WebBrowser控件中呈现PDF。
  • 引擎下面是IE。我们无法用最新的Microsoft Edge替换IE引擎。