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