2012-03-12 120 views
4

我创建了一个类,在PropertyGrid中显示,其中包含另一个类;我想这个类是可扩展的,所以我尝试添加[TypeConverter(typeof(ExpandableObjectConverter))],但它似乎不起作用。下面是一个简单的例子,我想:PropertyGrid: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; } 
    } 
} 

当在属性网格显示,该Class1实例的Class2属性是不可扩展的。任何想法为什么这不起作用?

谢谢!

回答

7

您的Class2类型的属性由于为空而没有展开。只是实例化你的财产,一切都会好起来的:

Class2 class2 = new Class2(); 
+4

(把自己锁在耻辱的壁橱里)...谢谢。 – john 2012-03-12 17:48:58