WPF Webbrowser - 在 IE11 上访问文档正文

WPF Webbrowser - Access to Document Body on IE11

我正在开发一个桌面应用程序,它将 GUI 层作为嵌入式资源存储在 html 文件中。我有一个管理用户界面生命周期的 WPF Web 浏览器。我能够毫无问题地完成所有工作。但我最近发现,当启用 FEATURE_BROWSER_EMULATION 到 IE 11 (11000) 时,文档正文变得不可访问。然后,当使用 IE 10 (10000) 时一切正常。

下面的例子展示了如何获取文档正文的OffsetHeight:

dynamic document = (this.wbContent.Document as dynamic);
if ((document == null) || (document.body == null)) return 0;
return document.body.OffsetHeight;

HTML是:

<html>
    ...
    <body style="width: 170px; height: 240px">
        ...
    </body>
</html>

使用 IE 11 时会抛出类型为 'Microsoft.CSharp.RuntimeBinder.RuntimeBinderException' 的异常。

使用 IE 10 时 returns 240.

您知道如何在 IE 11 上访问正文吗?

由于我没有得到任何关于解决问题的答案,我不得不使用技巧来解决这个错误。所做的是在 html 文件上放置一个简单的 JavaScript,因此我调用方法 window.resizeTo(a, b)。调用此事件后,应用程序恢复正常,但我实际上不知道为什么。