PropertyGrid;对象属性:类别

本文关键字:类别 属性 对象 PropertyGrid | 更新日期: 2023-09-27 18:25:13

我正在进行一个项目,该项目涉及查看和更改具有PropertyGrid控件的类元素的属性。这个class元素的属性是对其他对象的引用(自身)具有属性。

[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;}

但是属性没有被分组。我只看到描述。怎么了?

注意:Standard1Converter:ExpandableObjectConverter

PropertyGrid;对象属性:类别

标准MS PropertyGrid中没有子类别。这意味着只有传递给SelectedObject的顶级对象才会被分类。