2011-11-15 13 views
5

¿Existe algún código fuente abierto ya escrito en alguna parte que acepte una clase con propiedades y atributos de validación, y genere un formulario de Windows con controles que corresponden a esas propiedades?Generación de código de un formulario C# POCO clase

Ejemplos:

public bool IsRed { get; set; } 

produce una casilla de verificación con una etiqueta Is Red?.

public int NumberOfDays { get; set; } 

produce un cuadro de texto con una etiqueta llamada Number of Days y restringe la entrada a sólo caracteres numéricos.

[Required] 
public Color Color { get; set; } 

donde el color es una enumeración de la forma

public enum Color 
{ 
    Red, 
    Green, 
    Blue 
} 

produce un cuadro combinado con la lista poblada de RedGreen y Blue, y hace que sea necesario.

Lo ideal es que el código generado incluya un método que acepte una instancia de mi clase y llene previamente los controles en la forma de win con los valores en las propiedades de mi instancia. De forma correspondiente, otro método guarda los valores existentes en los controles en una instancia de mi clase.

¿Hay algo como eso disponible?


Por favor Nota: Estoy no buscando:

  1. un ORM o DAL
  2. Una herramienta generalizada como CodeSmith, a menos que sea libre y de código abierto
  3. WPF o ASP .NET código, necesita ser Winforms
  4. NetTiers o cualquier tipo similar de marco completo de la aplicación, a menos que pueda analizar la pequeña parte de la misma que se aplica specifi cally a este escenario.
+0

similares a: http://stackoverflow.com/questions/345915/dynamic-data-for-winforms – leppie

+0

Estoy en lo cierto, que están buscando una cosa como 'PropertyGrid'? Bueno, uno que se descompone en controles? – leppie

+0

Algo así.Estoy creando editores para una estructura de archivos en paquete, y tiene una cantidad no trivial de estructuras de datos diferentes que requieren editores, por lo que sería bueno simplemente apagar algunos formularios de Windows de esas estructuras de datos (para lo cual ya tener clases o estructuras correspondientes) como punto de partida. –

Respuesta

1

Es 'bastante fácil' extraer la funcionalidad del PropertyGrid en sus propios controles alojados, pero eso solo cubriría la mitad de sus requisitos. Como mínimo, lea en TypeConverter, TypeDescriptor y PropertyDescriptor.

También eche un vistazo a: codeproject.com/KB/custom-controls/xacc_propertygrid.aspx, esto básicamente expone la funcionalidad PropertyGrid a una página web, pero le dará algunas ideas.

Sé que esta no es una respuesta completa, pero debe apuntar en la dirección correcta para escribir/crear dicha herramienta.

Sería bueno si existía una herramienta tan andamiaje para WinForms :)

Cuestiones relacionadas