在PropertyGrid中编辑列表

时间:2013-04-25 08:52:37

标签: c# winforms list edit propertygrid

我有PropertyGrid(winform),其中包含一系列职位。

private ValuesCollection _position1 = new ValuesCollection();

public ValuesCollection Position1
{
   get { return _position1; }
   set
   {
     _position1 = value;
   }
}

ValuesCollection我使用以下文章制作的这个类: Customized display of collection data in a PropertyGrid

列表中的每个对象都属于类值:

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

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

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

    }

    public override string ToString()
    {
        return Value.ToString();
    }
}

我的问题是,当列表打开时我无法在第一级编辑,因为每个项目都是一个对象。

enter image description here

我必须打开另一个级别(打开对象本身)并在那里编辑。

enter image description here

我想在第一级编辑而不是单独打开任何对象。我还没有办法做到这一点,有没有人有想法?

(P.S。我不想使用Collection Editor。)

1 个答案:

答案 0 :(得分:1)

您可以为TypeConverter班级

实施Values