使用
<System.ComponentModel.TypeConverter(GetType(System.ComponentModel.ExpandableObjectConverter))> _
在由数字属性组成的类的声明(这是另一个类的属性)上。
我只用...加载此类的实例
PropertyGrid1.SelectedObject = oColumn
显然,我不想手动在代码中构建propertygrid,我知道该怎么做。
但这就是问题所在。根据属性的值,某些其他属性应该不可见,就好像我使用了
<System.ComponentModel.Browsable(False)> _
属性声明中的属性。
无论如何,是否可以通过编程方式执行此操作,而不必手动处理属性网格的所有构建>
最佳答案
如果您希望使用gridItem.Hide(),那么答案是否定的。在MS PropertyGrid中实现此目标的唯一方法是通过TypeConverter或自定义类型描述符(实现ICustomTypeDescriptor)的GetProperties方法动态发布属性。我将首先尝试使用TypeConverter(特别是如果您要检查的属性值处于同一级别),则要做的代码更少。