¿La mejor manera de renderizar HTML en la aplicación WinForms? [cerrado]
-
10-07-2019 - |
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.
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
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 .