PropertyGrid не перечисляет членов класса члена - PullRequest
2 голосов
/ 07 февраля 2011

У меня есть:

<code>
class Foo1
{
    private string name1;
    [CategoryAttribute("Category1")]
    public string Name1
    {
        get { return name1; }
        set { name1 = value; }
    }
}

и

<code>
class Foo2
{
    private string name2;
    [CategoryAttribute("Category2")]
    public string Name2
    {
        get { return name2; }
        set { name2 = value; }
    }
}

Если у меня есть Foo2, полученный из Foo1и установите Foo2 как SelectedObject в PropertyGrid, у меня будут перечислены члены Foo1, но если у меня есть член Foo1 в Foo2, члены Foo1 не будут перечислены.Есть ли способ перечислить членов Foo1 в PropertyGrid для второго случая?

Спасибо!

Ответы [ 2 ]

3 голосов
/ 07 февраля 2011

попробуйте указать преобразователь типов для Foo2. Теперь члены Foo2 должны быть перечислены в свойстве объекта Foo1.

[TypeConverter(typeof(ExpandableObjectConverter))]
class Foo2
{
    private string name2;
    [CategoryAttribute("Category2")]
    public string Name2
    {
        get { return name2; }
        set { name2 = value; }
    }
}
1 голос
/ 07 февраля 2011

вам нужен typeconverter для достижения этой цели.Взгляните на это: Максимально эффективное использование .NET Framework PropertyGrid Control в разделе Поддержка пользовательских типов

...