Pregunta

Tengo una aplicación WinForms que se ejecuta en .net 3.5. Esta aplicación genera HTML sobre la marcha, que incluye el documento completo y también una hoja de estilo CSS en línea (dentro del elemento de cabecera).

Estoy usando el navegador de configuración y control WebBrowser.DocumentText a mi HTML generado, pero eso no parece aplicar correctamente los estilos en el elemento del cuerpo (he establecido el color de fondo en # 000000 en el CSS, pero el fondo sigue siendo blanco).

Me pregunto si a) hay algunas alternativas para renderizar HTML relativamente simple en C # (es decir, un renderizador HTML completamente administrado) ob) ¿cuál sería la mejor manera de renderizar HTML usando el control WebBrowser, incluido el manejo correcto de inline- css y sin usar un archivo temporal en el disco duro.

Editar: El problema de no aplicar CSS era un problema separado. Puse mi CSS real en un bloque CDATA, lo que parece hacer que no se aplique correctamente. Eso ya está solucionado, pero la pregunta en sí sigue en pie.

¿Fue útil?

Solución 2

Me alojé con el navegador web incorporado. El HtmlRenderer de la otra respuesta es excelente, pero muestra una imagen.

Otros consejos

Para el renderizador HTML administrado, consulte HtmlRenderer en GitHub.

Podrías considerar usar un motor de visualización. La mayoría de los motores de visualización pueden funcionar de manera independiente de la API

por ejemplo, NHaml y nvelocity, ambos se pueden usar de forma independiente

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

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

Y supongo que Spark también puede serlo

http://dev.dejardin.org/

He desarrollado lo que estaba pidiendo: un " renderizador HTML completamente administrado " ;, que " renderizará HTML relativamente simple en C # " ;. Admite un subconjunto de CSS, que puede " especificar en una hoja de estilo CSS en línea (dentro del elemento de cabecera) " ;.

Para más detalles, consulte el control HTML de ModelText .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top