C#/WPF: взаимодействие с управлением веб-браузером?

Можно ли взаимодействовать с исходным кодом локальной или удаленной страницы в режиме реального времени с помощью элемента управления браузера WPF.

Простым примером того, что я имею в виду, будет случай, когда пользователь может нажать кнопку, которая выделяет выделенный текст жирным шрифтом. Что-то вроде HTML-редактора WYSIWYG, но с использованием элемента управления браузера.

Есть ли способ взаимодействовать с исходным кодом с той же силой, что и с JavaScript. Нужно ли настраивать систему для синтаксического анализа выбранной веб-страницы, а затем изменять ее код, а затем повторно открывать новый код в элементе управления браузера, чтобы имитировать опыт редактирования в реальном времени?

Спасибо


person caltech    schedule 12.12.2009    source источник


Ответы (1)


У вас есть полный доступ к DOM через элемент управления веб-браузером, поэтому ответ — да. Однако элемент управления веб-браузером является не элементом управления wpf, а элементом управления winforms, и для его использования вам придется использовать элемент управления контейнера wpf winforms.

person Klaus Byskov Pedersen    schedule 12.12.2009
comment
Нет, есть элемент управления WPF WebBrowser, начиная с .NET 3.5 SP1. (Однако он обертывает тот же базовый элемент управления ActiveX, просто не требует взаимодействия с WinForms.) - person itowlson; 13.12.2009
comment
Чтобы добавить к ответу Клауса, способ добраться до DOM - через свойство Document. - person itowlson; 13.12.2009
comment
Является ли использование контейнера winforms хакерским? - person caltech; 13.12.2009
comment
@caltech Взаимодействие между WinForms и WPF никогда не бывает безупречным. Есть проблемы с рендерингом (особенно при изменении размера), события иногда теряются и т. д., если вы можете использовать собственный WPF, всегда используйте собственный WPF. - person Matěj Zábský; 28.02.2011