WPF WebBrowser 控件看起来很棒,但是随着时间的推移积累的关于 WinForms WebBrowser 的知识非常丰富,并且很难忽视像 csExWB 这样的工作。很高兴知道 .NET 3.5 的 WPF WebBrowser 控件相对于 WinForms WebBrowser 控件存在哪些功能缺点或优点。特别是,是否可以在 WPF WebBrowser 之上构建类似 csExWB 的功能?
2 回答
从对 wpf 组件的一整天的沮丧中,这就是我发现的。显然,winforms webbrowser 公开了更多的方法和属性。例如,wpf webbrowser 中没有IsWebBrowserContextMenuEnabled
,ActiveXInstance
等。
此外,document
每个属性都包含不同类型的对象。Winform 包含一个文档类型System.Windows.Forms.HtmlDocument
,其中包含一些有趣的方法和属性,例如PointToClient
和GetElementFromPoint
。Wpf webbrowser 文档是一种Object
可以转换为 的类型文档mshtml.HtmlDocument
,它仅提供与标准 html + javascript 文档相同的方法和属性。不是很令人兴奋。我不知道它是否可以转换为其他东西(很有用),因为没有关于它的真实文档。
关于winforms webbrowser,我注意到的唯一缺点是组件内的按钮和滚动条与wpf本机控件的外观不同。
我必须承认我不知道这些差异,但如果你遇到问题,你也许可以使用WindowsFormsHost在 WPF 中托管 winform 版本,像这样吗?最终,两者都是 shdocvw 的包装,因此“纯 WPF”之类的原则并不真正适用。