4

是否可以在 PropertyGrid 中查看公共属性以外的成员?文档说“默认情况下,SelectedObject的所有公共属性都将显示在 PropertyGrid中”。“默认情况下”似乎暗示在某些配置之后可以查看例如字段或非公共属性。

请注意,我实际上不想显示公共属性以外的任何内容,我只需要知道它支持什么。

4

1 回答 1

3

所以基本上你想要控制属性网格中显示的内容。是的,这是可能的。

一个对象可以通过实现一个接口来提供关于它自己的自定义信息ICustomTypeDescriptor。如果未实现,TypeDescriptor则属性网格将使用静态。

所以我们需要实现ICustomTypeDescriptor

属性信息将由接口方法GetProperties()返回。此方法返回一个 PropertyDescriptorCollection 类型的对象。

编辑:您应该查看 PropertyGrid.BrowsableAttributes 以获得更简单的解决方案。以编程方式隐藏 PropertyGrid 中的字段

一些有用的链接 -

.NET 很重要:ICustomTypeDescriptor,第 1 部分

http://www.codeproject.com/Articles/4448/Customized-display-of-collection-data-in-a-Propert

于 2012-07-12T18:48:14.970 回答