Displaying a Collection in a PropertyGrid Control

2019-05-04 16:18发布

问题:

I have an array of objects containing pairs of string labels and values, how would I put them all in a single property grid?

    public class stringVariable {
        public String name;
        public String defaultValue;
        public String value;
    };
    public List<stringVariable> variables = new List<stringVariable>();

回答1:

Adding an array of objects to a property grid is pretty well covered in a number of tutorials. This should be what you're looking for.



回答2:

Its not entirely straight forward, but possible. You need to have a class that implements ICustomTypeDescriptor, which will tell you what properties to display, etc. There are a few implementations out there, I was using this one: http://www.codeproject.com/KB/miscctrl/bending_property.aspx