在 PropertyGrid 表单元素中,当我向类别添加属性时,某些属性会以粗体显示。
现在,我知道这表明它们是该类别中的默认值。我的问题是如何使所有属性不变为粗体?
我知道一种可能的方法是更改 DefaultValueAttribute 属性,但我想知道是否可以以不同的方式完成:this post建议我可能必须使用反射,这对我来说有点神秘:)
预先感谢您
最佳答案
对于每个属性,您可以添加:
private bool ShouldSerialize{PropertyName}() { return false; }
除此之外,您还可以通过 ICustomTypeDescriptor
或 TypeDescriptionProvider
进入自定义 PropertyDescriptor
实现领域。
请注意,此模式在许多地方使用,但在某些地方(例如,XmlSerializer
),它需要是 public
方法。
关于C# PropertyGrid - 使所有属性不粗体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7442223/