我希望在网格中动态添加属性(比如Browsable(false))。场景是我有一个自定义类,其中包含一些公共属性。然而,我不想将所有公共属性显示在UI中。有什么解决方法吗?
我尝试使用TypeDescriptor。但是,它只能在类型级别上工作,而不能在属性级别上工作。我找不到任何有关如何在属性级别上使用它的帮助。
非常感谢任何指针。
我尝试使用TypeDescriptor。但是,它只能在类型级别上工作,而不能在属性级别上工作。我找不到任何有关如何在属性级别上使用它的帮助。
非常感谢任何指针。
BrowsableAttribute
是ComponentModel的成员(http://msdn.microsoft.com/en-us/library/system.componentmodel.aspx),并且与WinForms不同,不是与UI相关的。实际上,这是可能的,但我必须承认它相当晦涩和文档不足。关键是要从System.ComponentModel.TypeDescriptionProvider派生自己的自定义TypeDescriptorProvider。然后,您可以返回自己的TypeDescriptor子类。
我这样做是为了解决ASP.NET MVC中ViewModel和元数据方面的一个相当严重的限制,但您也可以使用它来插入自己的额外元数据。