PropertyGrid:ExpandableObjectConverter出现问题

joh*_*ohn 4 c# propertygrid

我创建了一个类来显示一个PropertyGrid包含另一个类的类; 我希望这个类可以扩展,所以我尝试添加[TypeConverter(typeof(ExpandableObjectConverter))]但它似乎不起作用.这是我尝试的一个简单示例:

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();

        this.propertyGrid1.SelectedObject = new Class1();
    }
}

public class Class1
{
    string name;

    public string Name
    {
        get { return this.name; }
        set { this.name = value; }
    }

    Class2 class2;

    public Class2 Class2
    {
        get { return this.class2; }
        set { this.class2 = value; }
    }
}

[TypeConverter(typeof(ExpandableObjectConverter))]
public class Class2
{
    string stuff = "none";

    public string Stuff
    {
        get { return this.stuff; }
        set { this.stuff = value; }
    }
}
Run Code Online (Sandbox Code Playgroud)

在属性网格中显示时,实例的Class2属性Class1不可展开.为什么这不起作用的任何想法?

谢谢!

Dmi*_*lov 7

您的Class2类型的属性不会扩展,因为它是null.只是实例化你的财产,一切都会好的:

Class2 class2 = new Class2();
Run Code Online (Sandbox Code Playgroud)

  • (把自己锁在羞耻的壁橱里)......谢谢. (4认同)