1

我正在使用通用属性网格来编辑几个自定义类的值。其中一些类有集合,我可以在集合编辑器中毫无问题地打开这些集合。如果集合已经包含对象,我可以选择这些对象并在右侧编辑它们,但“添加/删除”按钮处于非活动状态。

我知道其中一些集合需要自定义编辑器,因为它们非常复杂——但其中大多数都非常简单。是否有一种简单的方法可以激活这些简单类的添加/删除按钮,或者我是否需要为每个集合创建一个自定义编辑器?

4

1 回答 1

1

要启用 Add 和 Remove 按钮,您需要集合来实现非通用IList接口,并且显然,属性ReadOnly必须返回false

请注意,您需要对类进行显式实现,仅从本身派生自 IList(如IList<Something>)的类或接口派生将不起作用

例如,以下是不行的:

public class MyStuffCollection : List<MyStuff>
{
}

以下是可以的:

public class MyStuffCollection : List<MyStuff>, IList
{
}
于 2013-03-02T07:36:21.960 回答