我使用了Xceed Property Grid。我在这个属性网格中使用了Xceed的集合编辑器。
[Editor(typeof(CustomCollectionEditor), typeof(CustomCollectionEditor))]
[Serializable]
public class Variable
{
//Properties in Class
}
这里的自定义集合编辑器派生自Xceed集合编辑器。但没有任何内容被重写。它只是一个包装类。
Xceed网站告诉以下扩展过程:PropertyGrid支持这种场景,并允许您向下钻取属性的层次结构。要启用此行为,您必须使用ExpandableObject属性"
"来修饰您的属性。所以我在我的属性中使用它作为:
[ExpandableObject]
public List<Variable> GlobalVariableList
{
get { return _varlist; }
set { _varlist = value; }
}
但是在expand this中只显示属性的计数。而不是属性名和值
我认为您的customcollectioneditor需要在集合上而不是项目上。