【发布时间】:2016-06-10 16:22:52
【问题描述】:
我正在尝试格式化属性网格,在 wpf 上工作了几年已经生锈了我的 winforms 知识。
我想在某些情况下将属性名称文本设为粗体,我想使用方法的 bool 返回值,并决定是否将属性名称显示为粗体。
关于如何实现这一点的任何想法,什么属性什么事件!?
【问题讨论】:
标签: c# winforms propertygrid conditional-formatting
我正在尝试格式化属性网格,在 wpf 上工作了几年已经生锈了我的 winforms 知识。
我想在某些情况下将属性名称文本设为粗体,我想使用方法的 bool 返回值,并决定是否将属性名称显示为粗体。
关于如何实现这一点的任何想法,什么属性什么事件!?
【问题讨论】:
标签: c# winforms propertygrid conditional-formatting
回到过去...
真的,这要追溯到很久以前了。我不记得有一种方法可以直接控制属性名称的外观。您可以确保您的属性描述符具有类别,并且这些类别是粗体的。
另外(我认为这在“更高”版本的 Windows 中仍然不正确),您可以从属性描述符的 ShouldSerializeValue 方法返回 true ......这将导致 PropertyGrid 显示属性 值以粗体显示。
您似乎也可以将 一个 属性标识为对象的默认属性(在对象的类型描述符中)。似乎有不同的行为取决于 Windows 的版本......在 XP 之后,我认为这会将属性浮动到顶部......但也许 XP 之前它会使属性名称变为粗体......但我可以记错了。从那以后我睡了不止一次。
对于属性网格,我似乎记得遇到过这样的论点,即进行更多格式化可能会干扰网格已经代表对象执行的所有复杂布局。那时,我使用属性网格来格式化分层对象……我记得它的功能给我留下了深刻的印象,尽管它相对缺乏格式化控制。
当然,在 WPF 中度过一段时间后,您会情不自禁地觉得自己可以影响任何事情,是吗?
【讨论】: