引言
PropertyGridControl
默认使用PropertyGrid
的集合编辑器,如果你要编辑集合中的项,必须点击按钮打开集合编辑器
如下图所示:
从图中不难发现,List是可以直接编辑Capacity
属性的,那可以直接把Course
对象变成List的成员脱离集合编辑器来编辑吗?
解决方案
答案当然是可以的,通过观察可以发现,PropertyGridControl
可展开编辑的就是Object,所以只需把集合中的成员映射为List中的Object即可,PropertyGrid
已经有相应的解决方案了。
使用中间类型CourseCollection
然后实现ICustomTypeDescriptor
接口和PropertyDescriptor即可完成此需求,完整代码在文末
假如你想要自定义类型名称可继承ExpandableObjectConverter
参考资料
-
Previous
devexpress如何使用PropertyGridControl编辑字典(Dictionary) -
Next
devexpress如何隐藏PropertyGridControl中的行