需要具有向下钻取功能的PropertyGrid,类似于QuickWatch

本文关键字:PropertyGrid 类似于 QuickWatch 功能 钻取 | 更新日期: 2023-09-27 17:48:52

我正在尝试以通用方式显示对象数据成员。我从使用PropertyGrid开始,它满足了我对简单属性的需求。但是,它不允许用户深入到数据成员中。它允许浏览收藏,但界面有点尴尬。

我基本上是在寻找一些具有QuickWatch功能的东西。有人知道有什么图书馆可以进行深入研究吗?

需要具有向下钻取功能的PropertyGrid,类似于QuickWatch

当然,您可以深入PropertyGrid中的属性。这是一个庞大的主题,但也许您的属性只需要附加ExpandableObjectConverter?或者,如果要了解更多详细信息,附加的TypeConverter需要覆盖GetPropertiesSupported和GetProperties方法。

还有另一种方法可以告诉网格在属性下面显示哪些属性。您可以实现ICustomTypeDescriptor并返回自己的PropertyDescriptor。但通常这是针对更复杂的场景。

如果你需要这方面的任何具体细节,请告诉我。

更新:在评论中,您询问了有关显示字典的问题。如果您想将dict的每个条目视为子属性,那么这就是上面提到的复杂场景。TypeConverter或自定义TypeDescriptor必须为每个条目生成一个PropertyDescriptor。它的名称将是密钥,其值将是。。。好属性值。如果你是PropertyGrid的新手,我鼓励你多读一些关于它的知识,因为它可能非常复杂,你会在这里找到一个很好的资源列表:www.propertygridresourcelist.com

我会使用一个树视图控件,样式看起来像"网格"。然后,当您向下搜索时,您可以动态加载任何需要的子项。