2012-03-12 91 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