2013-07-27 3 views
1

Я работаю над проектом, который включает в себя просмотр и изменение свойств элемента класса с элементом управления PropertyGrid. Свойства элемента элемента класса являются ссылками на другие объекты. (сами) имеют свойства.PropertyGrid & Object Свойство: Категория

[TypeConverter(typeof(ExpandableObjectConverter))] 
public abstract class Elemento 
{ 
    .... 

    [CategoryAttribute("Materiale Associato 1"), DescriptionAttribute("Caratteristiche standard del Materiale 1")] 
    public Standard1 Standard1 {get;set;} 

    [CategoryAttribute("Materiale Associato 2"), DescriptionAttribute("Caratteristiche standard del Materiale 2")] 
    public Standard2 Standard2 {get;set;} 
} 

Этот объект будет передан свойству SelectedObject (PropertyGrid). Я хотел бы разделить свойства класса Standard1 (и Standard2) на категории . Я попытался украсить свойства таким образом:

[TypeConverter(typeof(Standard1Converter))] 
public class Standard1 
{ 
    [CategoryAttribute("Property1")] 
    public AnObject Property {get;set;} 

    [CategoryAttribute("Property2"), DescriptionAttribute("A property")] 
    public AnObject Property2 {get;set;} 

но свойства не сгруппированы. Я вижу только описание. Что не так?

NB: Standard1Converter: ExpandableObjectConverter

+0

Что вы подразумеваете под словом «свойства не сгруппированы». Чего вы ожидаете? –

+0

Когда я выбираю элемент Elemento, я вижу (в свойстваGrid) свойство (как Standard1), сгруппированное по категориям, но когда я «расширяю» объект Standard1, относительное свойство не классифицируется. Извините за мой плохой английский! –

ответ

1

Там нет подкатегорий в стандартной MS PropertyGrid. Это означает, что только объект верхнего уровня, переданный в SelectedObject, будет классифицирован.

Смежные вопросы