标签: c# .net winforms propertygrid collectioneditor
我使用通用的propertygrid编辑来自多个自定义类的值。其中一些类有集合,我可以在集合编辑器中没有问题地打开这些集合。如果集合已经包含对象,我可以选择这些对象并在右侧编辑它们,但是“添加/删除”按钮处于非活动状态。
我知道其中一些系列需要一个自定义编辑器,因为它们非常复杂 - 但大多数都非常简单。是否有一种简单的方法可以激活这些简单类的添加/删除按钮,还是需要为每个集合创建自定义编辑器?
答案 0 :(得分:1)
要启用“添加和删除”按钮,您需要该集合来实现非通用IList接口,显然,属性ReadOnly必须返回false。
false
请注意,您需要在类上进行显式实现,只需从本身派生自IList的类或接口派生(suc as IList<Something>)将不工作。
IList<Something>
例如,以下情况不正确:
public class MyStuffCollection : List<MyStuff> { }
以下是好的:
public class MyStuffCollection : List<MyStuff>, IList { }