2012-07-09 842 views
6

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?

+1

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

+3

Ha echado un vistazo a AvalonEdit en el proyecto SharpDevelop ... es muy extensible y tiene una licencia LGPL. http://wiki.sharpdevelop.net/AvalonEdit.ashx –

+0

@colinsmith: Gracias, mirándolo ahora. Espero poder enlazar fácilmente objetos comerciales.Una pena que la documentación no parece abrirse correctamente sin embargo. :) –

Respuesta

1

Necesitaba un editor de texto para una aplicación. Teníamos un gran archivo xml para la configuración y el usuario debería poder editarlos.

Resulta que, si el archivo es lo suficientemente grande (+ 10.000 líneas) del cuadro de texto enriquecido es cada vez pritty lento.

En cuanto a la construcción de una máscara de interfaz gráfica de usuario: sólo si el usuario wirtes algunas opciones cortas como texto. Pero entiendo que quieras que tus usuarios escriban texto creativ. Esta "máscara" gui - "muchos lugares pequeños" les hará sentir como si estuvieran en los 80 años.

sugiero: No escribir el Programm, solamente escribir un plugin para un editor exitings. Algunos son gratuitos como: http://www.codeproject.com/Articles/42490/Using-AvalonEdit-WPF-Text-Editor o un complemento para Word - la gente le encanta Palabra y saben Palabra http://www.codeproject.com/Articles/8837/Writing-a-Word-Add-in-Part-I

Y para los datos y similares vinculante: Una vez que el texto está escrito, el usuario sólo tiene que pulsar el botón de guardar y puedes analizar la entrada para obtener información. No lo haría sobre la marcha, ya que puede ser bastante lento. También dice que la información está vinculada, por lo que solo si se escriben todos los datos, puede hacer uso de ella.

Cuestiones relacionadas