Управление WPF WebBrowser выглядит великолепно, но накопленные знания со временем о WinForms WebBrowser существенны, и трудно игнорировать работу, например, csExWB. Было бы неплохо узнать, какие функциональные недостатки или преимущества существуют в управлении WPF WebBrowser .NET 3.5 над элементом управления WinForms WebBrowser. В частности, возможно ли построить функции csExWB-like поверх WPF WebBrowser?Какие функциональные различия существуют между WPF и WinForms WebBrowser?
ответ
Я должен признать, что я не знаю различий, но если вы нажмете проблемы, вы можете использовать WindowsFormsHost для размещения версии winform в WPF, like so? В конечном счете, оба являются оберткой вокруг shdocvw, поэтому такие принципы, как «чистый WPF», на самом деле не применяются.
С одного полного дня расстройства с компонентом wpf, вот что я обнаружил. По-видимому, winforms webbrowser предоставляет гораздо больше методов и свойств. Например, в wpf webbrowser нет IsWebBrowserContextMenuEnabled
, ActiveXInstance
и т. Д.
Кроме того, свойство document
каждого содержит различные типы объектов. Winform содержит документ типа System.Windows.Forms.HtmlDocument
с несколькими интересными методами и свойствами, такими как PointToClient
и GetElementFromPoint
. Документ webbrowser Wpf является документом типа Object
, который может быть отнесен к mshtml.HtmlDocument
, который предоставляет только те же методы и свойства, которые доступны из стандартного документа html + javascript. Не очень интересно. Я не знаю, может ли он быть добавлен к чему-то другому (полезный, который есть), поскольку нет реальной документации об этом.
Единственный недостаток, который я мог заметить в winbrs webbrowser, состоит в том, что кнопки и полосы прокрутки внутри компонента не имеют того же внешнего вида, что и обычные элементы управления wpf.