未排序的属性网格中的父类

时间:2013-04-24 08:41:09

标签: c# sorting inheritance propertygrid

我有PropertyGrid,未分类。

一个对象是从另一个类继承的对象:

[TypeConverter(typeof(ExpandableObjectConverter))]
public class ExpandValues: Values
{
    public double Value2 { get; set; }

    public ExpandValues()
        : base()
    {

    }
    public ExpandValues(string name, double value1, double value2)
        : base(name, value1)
    {
        Value2 = value2;
    }
}

家长班:

[TypeConverter(typeof(ExpandableObjectConverter))]
public class Values
{
    [Browsable(false)]
    public string Name { get; set; }
    public double Value { get; set; }

    public Values()
        : this(null, 0)
    {

    }
    public Values(string name, double value)
    {
        Name = name;
        Value = value;

    }
}

当我打开包含类ExpandValues的对象时,会向我显示如下值:

Value2
Value

有没有办法告诉他先显示父类的对象(不要对PropertyGrid进行排序?)

1 个答案:

答案 0 :(得分:0)

对于要按顺序排列的值,我重写父类的变量value

我在父类的变量中添加了一个虚拟符:

public virtual double Value { get; set; }

然后我覆盖他:

[TypeConverter(typeof(ExpandableObjectConverter))]
public class ExpandValues: Values
{
    public override double Value
    {
        get
        {
            return base.Value;
        }
        set
        {
            base.Value = value;
        }
    }

    public double Value2 { get; set; }

    public ExpandValues()
        : base()
    {

    }
    public ExpandValues(string name, double value1, double value2)
        : base(name, value1)
    {
        Value2 = value2;
    }
}