Лучший способ визуализации HTML в приложении WinForms?

У меня есть приложение WinForms, работающее на .net 3.5. Это приложение генерирует HTML "на лету", включающий полный документ, а также встроенный CSS-стиль (внутри элемента head).

Я использую элемент управления WebBrowser и настройку браузера .DocumentText для моего сгенерированного HTML, но это не похоже на правильное применение стилей в элементе body (я установил background-color на # 000000 в CSS, но фон все еще белый).

Интересно, если a) есть некоторые альтернативы для рендеринга относительно простого HTML в С# (т.е. полностью управляемого HTML-рендерера) или b) что было бы лучшим способом визуализации HTML с помощью элемента управления WebBrowser, включая правильную обработку inline- css и без использования временного файла на жестком диске.

Изменить: Проблема с CSS-не-применением была отдельной проблемой. Я поместил свой фактический CSS в блок CDATA, который, похоже, не применил его правильно. Теперь это исправлено, но сам вопрос по-прежнему стоит.

Ответы

Ответ 1

Остался со встроенным WebBrowser. HtmlRenderer из другого ответа велик, но отображает изображение.

Ответ 2

Для управляемого HTML-рендеринга см. HtmlRenderer в GitHub.

Ответ 3

Вы можете посмотреть на использование механизма просмотра. Большинство движков просмотра могут работать автономно с помощью api

например, NHaml и nvelocity оба могут использоваться автономно

http://code.google.com/p/nhaml/

http://www.castleproject.org/others/nvelocity/index.html

И я полагаю, что Spark также может быть

http://dev.dejardin.org/

Ответ 4

Я разработал то, что вы просили: "полностью управляемый HTML-рендеринг", который будет "отображать относительно простой HTML в С#". Он поддерживает подмножество CSS, которое вы можете "указать в встроенной таблице стилей CSS (внутри элемента head)".

Подробнее см. HTML-код ModelText.