我正在使用 PropertyGrid 来显示通过 ICustomTypeDescriptor 的实现公开的自定义属性。
我的对象设置在树结构中,每个属性的值要么在每个对象中设置,要么从父对象继承。在 PropertyGrid 中,我想直观地向用户展示在所选对象中设置了哪些属性值,以及哪些属性值是从父对象继承的。
现在,我将每个属性都显示为两个类别。一组显示在实际对象中设置的值,如果未设置,则带有空白字段。另一组显示分配给对象的属性值,这些属性值要么在对象中设置,要么在对象中未设置时继承。
我想将这两组组合成一个购买,以常规文本显示设置属性,并以斜体文本显示继承值。但是,似乎没有任何方法可以通过 ICustomTypeDescriptor.GetProperties() 做到这一点。而且我无法轻松访问 PropertyGrid 的属性,因为它们是在程序运行时创建的。