2011-11-15 4 views
5

Esiste già un codice open source già scritto da qualche parte che accetterà una classe con proprietà e attributi di convalida e genererà un modulo Windows con controlli corrispondenti a tali proprietà?Codice: generazione di un modulo Winform da una classe P # COC

Esempi:

public bool IsRed { get; set; } 

produce una casella di controllo con un Is Red? etichetta.

public int NumberOfDays { get; set; } 

produce una casella di testo con un'etichetta chiamata Number of Days e limita ingresso solo caratteri numerici.

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

cui colore è un'enumerazione della forma

public enum Color 
{ 
    Red, 
    Green, 
    Blue 
} 

produce una casella combinata con l'elenco popolato con RedGreen e Blue, e rende necessaria.

Idealmente, il codice generato include un metodo che accetta un'istanza della mia classe e prepopola i controlli nel winform con i valori nelle proprietà della mia istanza. Corrispondentemente, un altro metodo salva i valori esistenti nei controlli su un'istanza della mia classe.

Esiste qualcosa del genere?


Si prega di notare: Sono non alla ricerca di:

  1. Un ORM o DAL
  2. Uno strumento generalizzato come CodeSmith, a meno che non è gratuito e open-source
  3. WPF o ASP Codice .NET, deve essere Winforms
  4. NetTiers o qualsiasi tipo simile di framework completo di applicazioni, a meno che non possa analizzare la piccola parte di esso che si applica specifi cally a questo scenario.
+0

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

+0

ho ragione, che si stai cercando una cosa simile a PropertyGrid? Bene che si decompone in controlli? – leppie

+0

Qualcosa del genere.Sto costruendo editor per una struttura di file a pacchetto, e ha un numero non banale di strutture di dati differenti che richiedono editori, quindi sarebbe bello soffiare solo alcuni moduli di Windows da quelle strutture di dati (per il quale ho già avere classi o strutture corrispondenti) come punto di partenza. –

risposta

1

E ' 'abbastanza facile' per estrarre la funzionalità del PropertyGrid nelle tue controlli ospitati, ma che coprirebbe solo la metà vostra esigenza. Come minimo, leggere su TypeConverter, TypeDescriptor e PropertyDescriptor.

Anche dare un'occhiata a: codeproject.com/KB/custom-controls/xacc_propertygrid.aspx, questo espone fondamentalmente la funzionalità di PropertyGrid a una pagina Web, ma vi darà alcune idee.

So che questa non è una risposta completa, ma dovrebbe indicare uno nella giusta direzione per scrivere/creare un tale strumento.

Sarebbe bello se un tale strumento ponteggi esiste da WinForms :)

Problemi correlati