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를 선택하면 (PropertyGrid에서) 범주별로 그룹화 된 (표준 1로) 속성이 표시되지만 상대적인 속성 인 Standard1의 "확장"이 범주화되지 않습니다. 내 하찮은 영어 실력에 죄송하다는 말씀을 드리고 싶습니다! –

답변

1

은 표준 MS PropertyGrid가에는 하위 범주가 없습니다. 즉, SelectedObject에 전달 된 최상위 레벨 객체 만 분류됩니다.