Генерация кода формы Winforms из класса C # POCO - PullRequest
5 голосов
/ 15 ноября 2011

Есть ли какой-нибудь открытый исходный код, уже написанный где-то там, который примет класс со свойствами и атрибутами проверки и выведет форму Windows с элементами управления, соответствующими этим свойствам?

Примеры:

public bool IsRed { get; set; }

создает флажок с меткой Is Red?.

public int NumberOfDays { get; set; }

создает текстовое поле с меткой Number of Days и ограничивает ввод только числовыми символами.

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

где Color - это перечисление вида

public enum Color
{
    Red,
    Green,
    Blue
}

создает поле со списком со списком, заполненным Red Green и Blue, и делает его обязательным.

В идеале сгенерированный код включает метод, который принимает экземпляр моего класса и предварительно заполняет элементы управления в winform значениями в свойствах моего экземпляра.Соответственно, другой метод сохраняет существующие значения в элементах управления в экземпляр моего класса.

Есть ли что-то подобное?


Обратите внимание: я не ищет:

  1. ORM или DAL
  2. Обобщенный инструмент, такой как CodeSmith, если только он не бесплатный и с открытым кодом
  3. WPF или ASP.NET кодэто должны быть Winforms
  4. NetTiers или любой аналогичный тип полной прикладной инфраструктуры, если только я не могу разобрать небольшую часть этого, которая относится конкретно к этому сценарию.

1 Ответ

1 голос
/ 15 ноября 2011

«Довольно просто» выделить функциональность PropertyGrid в ваши собственные размещенные элементы управления, но это будет покрывать только половину ваших требований.Как минимум, прочитайте TypeConverter, TypeDescriptor и PropertyDescriptor.

. Также посмотрите: codeproject.com / KB / custom-controls / xacc_propertygrid.aspx это, в основном, предоставляет функциональность PropertyGrid для веб-страницы, но даст вам некоторые идеи.

Я знаю, что это не полный ответ, но должен указать один в правильном направлении, чтобы написать /автор такого инструмента.

Было бы неплохо, если бы такой инструмент для создания леса существовал для WinForms :)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...