【问题标题】:Show/Hide Child Properties in PropertyGrid在 PropertyGrid 中显示/隐藏子属性
【发布时间】:2014-02-13 17:31:26
【问题描述】:

是否可以根据另一个布尔属性的值在 Windows 窗体 PropertyGrid 控件中添加/删除属性?

例如,假设所选对象具有布尔值ShowTitle 属性。仅当 ShowTitle 设置为 true 时,我才需要显示 TitleFontTitleColor 属性。此外,如果 TitleFontTitleColor 属性是 ShowTitle 属性的子级,那就太好了。

如果这不可能,那么除了创建自定义编辑器之外,我还有哪些其他选择?

更新:

据我了解,PropertyGrid 似乎允许我们这样做......

...但不是这个(下图只是一个模型)...

【问题讨论】:

  • 您可以做的是重用我在此问题的答案中描述的 DynamicTypeDescriptor 类:stackoverflow.com/questions/16422844/…
  • @Simon,我更新了我的帖子。我正在尝试实现第二种情况,即跳过可扩展属性网格项的第一行。
  • PropertyGrid 在边缘是非常硬编码的......您只能在显示的网格本身上做一些事情(UI 类型编辑器更灵活)。子项始终是项的子项。
  • @SimonMourier,您可以发布您的 cmets 作为答案,以便我接受。

标签: .net winforms propertygrid


【解决方案1】:

您可以做的是重用我在此处对这个问题的回答中描述的 DynamicTypeDescriptor 类:PropertyGrid Browsable not found for entity framework created property, how to find it?

还有一个基于相同实用程序类的好方法:Optimize class for PropertyGrid

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-12-24
    • 1970-01-01
    • 2013-09-26
    • 2019-01-07
    • 1970-01-01
    • 2019-11-04
    • 1970-01-01
    相关资源
    最近更新 更多