【发布时间】:2014-02-13 17:31:26
【问题描述】:
是否可以根据另一个布尔属性的值在 Windows 窗体 PropertyGrid 控件中添加/删除属性?
例如,假设所选对象具有布尔值ShowTitle 属性。仅当 ShowTitle 设置为 true 时,我才需要显示 TitleFont 和 TitleColor 属性。此外,如果 TitleFont 和 TitleColor 属性是 ShowTitle 属性的子级,那就太好了。
如果这不可能,那么除了创建自定义编辑器之外,我还有哪些其他选择?
更新:
据我了解,PropertyGrid 似乎允许我们这样做......
...但不是这个(下图只是一个模型)...
【问题讨论】:
-
您可以做的是重用我在此问题的答案中描述的 DynamicTypeDescriptor 类:stackoverflow.com/questions/16422844/…
-
@Simon,我更新了我的帖子。我正在尝试实现第二种情况,即跳过可扩展属性网格项的第一行。
-
PropertyGrid 在边缘是非常硬编码的......您只能在显示的网格本身上做一些事情(UI 类型编辑器更灵活)。子项始终是项的子项。
-
@SimonMourier,您可以发布您的 cmets 作为答案,以便我接受。
标签: .net winforms propertygrid