Ответ 1
Остался со встроенным WebBrowser. HtmlRenderer из другого ответа велик, но отображает изображение.
У меня есть приложение 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, который, похоже, не применил его правильно. Теперь это исправлено, но сам вопрос по-прежнему стоит.
Остался со встроенным WebBrowser. HtmlRenderer из другого ответа велик, но отображает изображение.
Для управляемого HTML-рендеринга см. HtmlRenderer в GitHub.
Вы можете посмотреть на использование механизма просмотра. Большинство движков просмотра могут работать автономно с помощью api
например, NHaml и nvelocity оба могут использоваться автономно
http://code.google.com/p/nhaml/
http://www.castleproject.org/others/nvelocity/index.html
И я полагаю, что Spark также может быть
Я разработал то, что вы просили: "полностью управляемый HTML-рендеринг", который будет "отображать относительно простой HTML в С#". Он поддерживает подмножество CSS, которое вы можете "указать в встроенной таблице стилей CSS (внутри элемента head)".
Подробнее см. HTML-код ModelText.