最近在用winform做项目时,遇到大量要自定义动态配置的数据,为了减少工作量,考虑把数据类与PropertyGrid绑定,以达到简洁地进行数据加载和更改的目的,下面把Demo过程和相关代码记录下来作为备忘录,同时希望能给后来者带来帮助(在Demo过程中查阅了其他相关开发者的文章,在此对其作者表示感谢!)
第一步:根据自己需要创建Attribute基本类(至少包含四个PropertyGrid显示的基本属性)
[Serializable]
public class MyAttribute
{
private string _categoryAttr = ""; //属性所属类别
private string _displayNameAttr = ""; //属性名称
private string _descriptionAttr = ""; //属性的描述内容
private object _myValue = null; //值
public string CategoryAttr
{
get { return _categoryAttr; }
set { _categoryAttr = value; }
}
public string DisplayNameAttr
{
get { return _displayNameAttr; }
set { _displayNameAttr = value; }
}
public string DescriptionAttr
{
get { return _descriptionAttr; }
set { _descriptionAttr = value; }
}
public object Value
{
get { return _myValue; }
set { _myValue = value; }
}
public MyAttribute ()
{
}
public MyAttribute(string category, string displayName, string description, object value)
{
_categoryAttr = category;
_displayNameAttr = displayName;
_descriptionAttr = description;
_myValue = value;
}
}
第二步,创建自己的基本数据类DataBse(类的属性为PropertyGrid中类别相同的属性)
[Serializable]
public class MyDataBase
{
private MyAttribute _data1;
private MyAttribute _data2;
public MyAttribute Data1
{
get { return _data1; }
set { _data1 =