代码生成来自C#POCO类的Winforms表单
是否有一些开源代码已经写在那里接受具有属性和validation属性的类,并输出一个Windows窗体,其控件对应于这些属性?
例子:
public bool IsRed { get; set; }
生成一个带Is Red?
的复选框Is Red?
标签。
public int NumberOfDays { get; set; }
生成一个带有名为Number of Days
的标签的文本框,并仅将输入限制为数字字符。
[Required] public Color Color { get; set; }
其中Color是表单的枚举
public enum Color { Red, Green, Blue }
生成一个combobox,其中列表中填充了Red
Green
和Blue
,并使其成为必需项。
理想情况下,生成的代码包含一个方法,该方法接受我的类的实例,并使用我的实例的属性中的值预先填充winform中的控件。 相应地,另一种方法将控件中的现有值保存到我的类的实例中。
有没有这样的东西?
请注意:我不是在寻找:
- ORM或DAL
- 像CodeSmith这样的通用工具,除非它是免费和开源的
- WPF或ASP.NET代码,它需要是Winforms
- NetTiers或任何类似类型的完整应用程序框架,除非我能够解析出专门适用于此场景的一小部分。
将PropertyGrid
的function提取到您自己的托管控件中非常容易,但这只能满足您的一半要求。 至少,请阅读TypeConverter
, TypeDescriptor
和PropertyDescriptor
。
另外看看: codeproject.com/KB/custom-controls/xacc_propertygrid.aspx ,这基本上将PropertyGrid
的function暴露给网页,但它会给你一些想法。
我知道这不是一个完整的答案,但应该指出一个正确的方向来编写/创作这样一个工具。
如果WinForms存在这样的脚手架工具会很好:)