c# - PropertyGrid 中的斜体文本

标签 c# propertygrid

我正在使用 PropertyGrid 来显示通过实现 ICustomTypeDescriptor 公开的自定义属性。

我的对象设置在树结构中,每个属性的值要么在每个对象中设置,要么从父对象继承。在 PropertyGrid 中,我想直观地向用户显示在所选对象中设置了哪些属性值,以及哪些属性值是从父对象继承的。

现在我将每个属性显示为两个类别。一组显示在实际对象中设置的值,如果未设置则为空白字段。另一组显示分配给对象的属性值,这些属性值要么在对象中设置,要么在对象中未设置时继承。

我想将这两组组合成一个购买,以常规文本显示设置属性,并以斜体文本显示继承值。但是,似乎没有任何方法可以通过 ICustomTypeDescriptor.GetProperties() 来做到这一点。而且我无法轻松访问 PropertyGrid 的属性,因为它们是在程序运行时创建的。

最佳答案

你不能做斜体——但你可以做粗体;粗体行为由 PropertyDescriptorShouldSerializeValue 决定;您可以通过各种 System.ComponentModel 技巧(ICustomTypeDescriptorTypeConverterTypeDescriptionProvider 包装 PropertyDescriptor code>) 并提供您自己的 PropertyDescriptor

或者,有更多选项的类似网格,例如by VisualHint - 请参阅该页面上的“属性自定义”。

关于c# - PropertyGrid 中的斜体文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/744999/

相关文章:

c# - 在 PropertyGrids 中是否有更好的 StringCollection 编辑器?

c# - 相当于Visual Studio的 "Properties Window"的控件?

c# - 在 PropertyGrid 中的对象内部编辑对象的属性

java - 如何在不测试调用数据库的私有(private)方法的情况下进行单元测试

c# - 将值添加到动态填充的列表 c#

c# - 向现有类添加新功能 (C#)

c# - 我们可以更改 PropertyGrid 中单个属性的文本/背景颜色吗

c# - 带有委托(delegate)参数的通用方法

c# - getJSON 函数未执行

C# Property Grid属性选择多次显示表单