Control editor de HTML en WPF

No es fácil encontrar controles para WPF, la mayoría se ofrecen para Windows Forms, y aunque tenemos la posibilidad de integrarlos mediante WindowsFormsHost, no es muy recomendable ya que el resultado final se nota, por ejemplo con los diferentes tiempos de refresco que hacen que veas el control de WinForms cuando la ventana de WPF aún no se ha dibujado a su alrededor.

Centrándonos entonces en controles nativos para WPF, el caso del editor de HTML es un poco paradójico ya que el control WebBrowser nativo de WPF incluye en su interior un control ActiveX, y para trabajar sobre el documento mostrado por dicho control necesitamos una referencia al componente Microsoft HTML Object Library COM (MSHTML).

Buscando sólo un poco sobre el tema me encuentro un buen artículo de Adam Pooler, donde aborda el desarrollo de un editor HTML en WPF basándose en el control WebBrowser ya comentado, y en particular en la propiedad designMode ofrecida por el documento (de tipo HTMLDocumentClass, que como ya hemos dicho puede encontrarse en el componente MSHTML). Para conseguir la edición básica basta con activar dicha propiedad, pero evidentemente un usuario espera algo más: comandos para poner negrita, cursiva, cambiar fuente, su tamaño, color, fondo, añadir enlaces… y para todo esto se necesita trabajo adicional, aunque Adam ya ha hecho parte del trabajo y lo ofrece para descarga.

Anuncios
Esta entrada fue publicada en .net, WPF y etiquetada , , , . Guarda el enlace permanente.

Una respuesta a Control editor de HTML en WPF

  1. Pingback: Trackback

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s