2010-10-13 19 views
10

¿Hay alguna biblioteca o manera automática de generar una GUI en C# desde una estructura arbitraria?Generación automática de GUI en C#

Por ejemplo, si tengo una jerarquía de clases, puedo expresarlo en XML agregando atributos como [XmlAttribute("depth")] o [XmlElement("node")] y pasándolo a un serializador XML. ¿Puedo utilizar anotaciones diferentes y luego enviarlas a alguna clase de construcción de GUI para obtener un formulario?

Como otro ejemplo para aquellos que han usado BlueJ para Java, proporciona acceso a las clases y sus miembros en un entorno de interfaz gráfica de usuario (aunque tiene acceso a la fuente).

Respuesta

2

¿Algo como esto?

uso de XML para generar dinámicamente GUI Elementos
http://www.codeproject.com/KB/cs/aal-5a.aspx

+0

Sí, algo así. Estaba usando XML como ejemplo, no lo estoy usando en mi aplicación en este momento, pero lo usé como paso intermedio. Esto podría ser factible. – Daniel

1

no he utilizado mordió hay un puerto de Naked Objects for .Net, escrito en this InfoQ article y en this podcast. Creo que ese es el mejor partido para lo que estás hablando. Escribí mi propio generador de código para crear XAML y C# a partir de una especificación XML, pero creo que quieres una solución dinámica.

0

Hemos intentado algo así en uno de mis proyectos anteriores, pero al final es demasiado restrictivo y en su lugar utilizamos formularios hechos a mano. Poner controles en los formularios no toma mucho tiempo en comparación con la codificación de las reglas de validación y la lógica de presentación, que son mucho más fáciles de codificar con formularios regulares.

3

Es por esto que XAML existe. XAML es un lenguaje de marcado XML para interfaces gráficas de usuario y es analizada por el analizador XAML en objetos de interfaz de usuario como ventana, Botón, Imagen, etc.

XAML es la sintaxis XML interfaz gráfica de usuario utilizado por WPF (Windows Presentation Foundation) y Silverlight.

2

Es crudo, pero a veces hace su trabajo. Use un PropertyGrid para ver/editar sus clases. De modo que pasa de XML a clases a través de la serialización y la vista en un formulario usando una cuadrícula de propiedades.

Cuestiones relacionadas