2010-02-02 60 views
1

有沒有一種方法來顯示和編輯對象的PropertyGrid(和他的CollectionEditor)中的值,這是從一個抽象的泛型類派生? 我沒有得到只顯示如下的屬性:「IFilter'1」或「BaseFilter'1」其中IFilter是一個接口,BaseFilter是一個抽象類。PropertyGrid GenericList與GenericItems

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不會顯示y任何屬性。但是當我使用非泛型類型定義泛型列表時,它顯示所有正確的。

是否有解決此問題的協議?我嘗試添加一些TypeConverter和一個自己的CollectionEditor。很顯然,沒有運氣=(

回答

0

我已經解決了它,但它的奇怪..只需將一些屬性添加到抽象類「FilterBase」,即所有。