Какие функциональные различия существуют между WPF и WinForms WebBrowser?

Управление WPF WebBrowser выглядит великолепно, но накопленные знания со временем о WinForms WebBrowser существенны, и трудно игнорировать работу, например, csExWB. Было бы неплохо узнать, какие функциональные недостатки или преимущества существуют в .NET 3.5 WPF WebBrowser для управления WinForms WebBrowser. В частности, возможно ли построить функции csExWB-like поверх WPF WebBrowser?

Ответы

Ответ 1

С одного полного дня расстройства с компонентом wpf, вот что я обнаружил. По-видимому, winforms webbrowser предоставляет гораздо больше методов и свойств. Например, в wpf webbrowser нет IsWebBrowserContextMenuEnabled, ActiveXInstance и т.д.

Кроме того, свойство document каждого содержит разные типы объектов. Winform содержит документ типа System.Windows.Forms.HtmlDocument с несколькими интересными методами и свойствами, такими как PointToClient и GetElementFromPoint. Документ webbrowser Wpf представляет собой документ типа Object, который может быть добавлен в mshtml.HtmlDocument, который предоставляет только те же методы и свойства, которые доступны из стандартного документа html + javascript. Не очень интересно. Я не знаю, можно ли его отличить от чего-то еще (полезного), поскольку нет реальной документации об этом.

Единственный недостаток, который я мог заметить в веб-браузере winforms, заключается в том, что кнопки и полосы прокрутки внутри компонента не имеют того же внешнего вида, что и встроенные элементы управления wpf.

Ответ 2

Я должен признать, что я не знаю различий, но если вы сталкиваетесь с проблемами, вы можете использовать WindowsFormsHost для размещения winform версия в WPF, как так? В конечном счете, оба являются оберткой вокруг shdocvw, поэтому такие принципы, как "чистый WPF", действительно не применяются.