使用 WPF 浏览器控件时如何覆盖 ie 的 BeforeNavigate2?
据我了解,WPF的Brwoser控件是ie Active-X控件的包装。后者有一个 BeforeNavigate2 方法,而我在 WPF WebBrowser 控件中没有找到这个方法。有什么办法可以解决这个问题吗?
谢谢! 马克
As far as I understand, WPF's Brwoser control is a wrapper of the ie Active-X control. The later has a BeforeNavigate2 Method, while I don't find this in the WPF WebBrowser control. Is there a way I can work around this?
Thx!
Marc
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
是的。 WPF的WebBrowser控件真是脑残。最重要的是它甚至是密封的。
您必须使用 Windows.Forms 的 WebBrowser 控件并将其嵌入到 WindowsFormsHost 中。
此外,您还必须从 WebBrowser 派生一个类并在其中执行一些 COM 魔法。
像这样创建一个用户控件:
然后像这样修改 Windows.Forms WebBrowser:
然后从代码隐藏中使用 WebBrowser(其名称与 XAML 中的名称类似),并为 AnotherHeaders 提供所需的值。
Yes. The WebBrowser control of WPF is really braindead. On top of that it is even sealed.
You have to use the WebBrowser control of Windows.Forms and embed it in a WindowsFormsHost.
Additionally you have to derive a class from WebBrowser and do some COM magic in it.
Make a UserControl like this:
Then modify Windows.Forms WebBrowser like this:
Then use WebBrowser (its named like that in XAML) from your code-behind and provide AdditionalHeaders with the required value.