Actualmente estamos buscando para crear un editor de texto en WPF (.NET 4.0) que permitirá a los escritores dentro de nuestro equipo para crear guiones de cine. En resumen, la funcionalidad debe Ressemble la de FinalDraft o Adobe Story (es decir: el posicionamiento contextual del texto en función de la posición y el usuario las intenciones del cursor)contextual Editor de texto en WPF
Actualmente estamos buscando a dos diferentes soluciones de diseño inteligente:
Un control WPF que actuará como contenedor, y múltiples pequeños controles de edición de texto que representarán filas dentro del script. Esto nos permitirá posicionar los controles usando su margen, al mismo tiempo que facilita el enlace. El desafío aquí sería el manejo de selecciones de múltiples líneas. Estaba pensando en utilizar un Listbox como contenedor, y cada elemento de la lista sería un control personalizado que contiene un cuadro de texto. Esto requeriría la creación de instancias de controles dependiendo de la acción del usuario. Todo se descartaría para dar la impresión de que el usuario está trabajando en una página en blanco.
Un gran cuadro de texto capaz de mostrar datos XML personalizado. El reto aquí sería determinar donde está el cursor se encuentra exactamente (es decir: es el cursor en la parte superior del nombre de un actor, etc.) y el posicionamiento del texto apropiadamente (es decir: los nombres de actores están centrados y en tapas, etc.)
Recientemente intenté implementar la primera solución, pero tener que volver a implementar todo el comportamiento de selección que está incorporado en los cuadros de texto básicos no es trivial y requiere mucho trabajo. En cuanto a la segunda solución, la vinculación a mis objetos de negocio será mucho más difícil que la simple instancia de múltiples controles con diferentes enlaces.
¿Tiene alguna otra solución en mente?
A primera vista, parece que el primer enfoque sería donde comenzaría. Sin embargo, esto no es trivial y va a tomar un montón de prueba y error para terminar con algo sólido desde el punto de vista del usuario y el diseño. – RQDQ
Ha echado un vistazo a AvalonEdit en el proyecto SharpDevelop ... es muy extensible y tiene una licencia LGPL. http://wiki.sharpdevelop.net/AvalonEdit.ashx –
@colinsmith: Gracias, mirándolo ahora. Espero poder enlazar fácilmente objetos comerciales.Una pena que la documentación no parece abrirse correctamente sin embargo. :) –