带有GenericItems的PropertyGrid GenericList

时间:2010-02-02 15:57:39

标签: c# generics propertygrid collectioneditor

有没有办法在对象的PropertyGrid(及其CollectionEditor)中显示和编辑值,该对象是从抽象泛型类派生的? 我没有显示这样的属性:“IFilter'1”或“BaseFilter'1”其中IFilter是一个接口,BaseFilter是一个抽象类。

此列表包含的所有对象:

List<IFilter<bool>> _activeFilter = new List<IFilter<bool>>();

有一个抽象类,实现了IFilter:

public abstract class FilterBase<T> : IFilter<T> { ... }

FilterBase的一些专门实现

    public class SimpleBool : FilterBase<bool> {

    public bool BoolValue { get; set; }

    protected override bool Process(bool input) {
        return input && BoolValue;
    }
}

当我将这样的“SimpleBool”类添加到上面定义的列表中时,PropertyGrid不会显示任何属性。但是当我使用非泛型类型定义通用列表时,它显示所有正确的。

是否有解决方案可以使这项工作?我尝试添加一些TypeConverter和一个自己的CollectionEditor。显然没有运气=(

1 个答案:

答案 0 :(得分:0)

我已经解决了。但它很奇怪..只需在抽象类“FilterBase”中添加一些属性即可。