silverlight editor controls syntax-highlighting

Editor de Silverlight XML/resaltado de sintaxis



controls syntax-highlighting (4)

Estoy buscando un control de editor de texto de Silverlight que proporcione resaltado de sintaxis XML . Encontré algunas respuestas en Winforms o WPF , como aquí en Stackoverflow , pero no logré convertirlas a Silverlight. El hecho de que Silverlight falta System.Drawing es probablemente un gran problema.

El único editor de texto que encontré para Silverlight es RichTextEdit en Codeplex , pero no creo que sea una base adecuada para resaltar la sintaxis en tiempo real.

¿Alguien ha oído hablar de tal control, o puede dar pistas sobre cómo construir uno? Muchas gracias,

Romain


Pensé que esta era una pregunta interesante, pero no has tenido respuesta.

No sé de un control existente.

Creé un control para editar XHTML, pero también usa System.Drawing en lugar de WPF (y, por lo tanto, no es para Silverlight).

WPF es probablemente al menos tan capaz como System.Drawing, pero no lo sé.

Sugerencias sobre cómo lo construí:

  • Definir un DOM (un System.Xml.XmlDocument vanilla puede ser adecuado para usted)
  • Analizar un documento para instanciar un DOM
  • Definir un control de usuario (con barras de desplazamiento)
  • Pase la instancia DOM al control del usuario
  • En el método de "pintura" del control, pinta la fracción visible del DOM
  • Implementar soporte para mouse y presionar teclas

Si realmente quieres consejos sobre cómo construir uno, pregunta algo más específico.


¡Hola, gracias por su respuesta!

Desafortunadamente, mientras que WPF tiene capacidades de dibujo, Silverlight ejecuta un conjunto muy restringido de CLR. Pintar el control del usuario parece una tarea bastante difícil.

Sin embargo, ya se ha hecho antes con este editor de texto enriquecido para Silverlight . Veré si logro usar técnicas similares para renderizar el documento XML.

Sin embargo, una pregunta: ¿el control del usuario es lo suficientemente rápido para renderizar el DOM sobre la marcha, a medida que el usuario realiza cambios?


¡Finalmente encontré ese control que estaba buscando! SL2TextBoxWsSynParser

EDITAR: Este control no parece actualizarse más, pero ha surgido un nuevo control de resaltado de sintaxis:

Está disponible aquí y se usa en el sitio web de CoderProof .