如何有条件地格式化属性网格中的行

时间:2016-06-10 16:22:52

标签: c# winforms propertygrid conditional-formatting

我正在尝试格式化一个属性网格,在wpf工作了几年已经生锈了我的winforms知识。

我想在某些情况下使属性名称文本变为粗体,我想从方法中使用bool返回值,并确定属性名称是否显示为粗体。

关于如何实现这一点的任何想法,什么属性是什么事件!?

1 个答案:

答案 0 :(得分:1)

回到当天......

真的,这回事了。我不记得有一种方法可以直接控制属性名称的外观。您可以确保您的属性描述符具有类别,并且这些类别将为粗体。

另外(我并不认为在#34;以后版本的Windows版本中仍然如此),您可以从属性描述符的ShouldSerializeValue方法返回true。 ..这会导致PropertyGrid以粗体显示属性 value

您似乎也可以将属性的一个识别为对象的默认属性(在对象的类型描述符中)。似乎有不同的行为取决于Windows的版本...在XP之后,我认为这会将属性浮动到顶部...但也许XP和之前它会使属性名称变粗......但我可能是记错。从那时起我就不止一次睡过了。

使用属性网格,我似乎记得遇到这样的论点:进行任何更多格式化可能会干扰网格已经代表对象执行的所有复杂布局。那时候,我正在使用属性网格来格式化分层对象......我记得虽然它相对缺乏格式控制,但对它的功能印象深刻。

当然,在WPF上花了一些时间后,你可以提供帮助,但感觉你可以影响任何事情,是吗?是的?