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

C# 需要具有向下钻取功能的PropertyGrid,类似于QuickWatch,c#,C#,我试图以一种通用的方式显示对象数据成员。我从使用PropertyGrid开始,它满足了我对简单属性的需求。但是,它不允许用户深入到数据成员中。它允许浏览收藏,但界面有点笨拙 我基本上是在寻找具有QuickWatch功能的东西。有人知道有哪些库可以进行深入研究吗?我会使用一个treeview控件,样式类似于“网格”。 然后,在向下搜索时,您可以动态加载需要的任何子项。当然,您可以在PropertyGrid中向下搜索属性。这是一个庞大的主题,但也许您的属性只需要将ExpandableObjectCo

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


我基本上是在寻找具有QuickWatch功能的东西。有人知道有哪些库可以进行深入研究吗?

我会使用一个treeview控件,样式类似于“网格”。
然后,在向下搜索时,您可以动态加载需要的任何子项。

当然,您可以在PropertyGrid中向下搜索属性。这是一个庞大的主题,但也许您的属性只需要将ExpandableObjectConverter连接到它们就可以了?或者,如果要了解更多详细信息,则附加的TypeConverter需要重写GetPropertiesSupported和GetProperties方法

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

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

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

嗨,Brian,我真的不在乎它看起来如何-我只想要它的功能。希望不用自己开发。你好,Nico,谢谢,有了ExpandableObjectConverter,我可以深入了解。只缺少一件事——我有一些数据成员是字典。看起来PropertyGrid根本不支持字典。