需要使用向下钻取PropertyGrid,类似于QuickWatch

时间:2008-10-23 13:24:52

标签: c#

我试图以通用方式显示对象数据成员。我开始使用PropertyGrid,就简单的属性而言,它满足了我的需求。但是,它不允许用户深入查看数据成员。它允许浏览集合,但界面有点尴尬。

我基本上在寻找具有QuickWatch功能的东西。有没有人知道任何可以深入挖掘的库?

2 个答案:

答案 0 :(得分:2)

当然,您可以深入了解PropertyGrid中的属性。这是一个广泛的主题,但也许您的属性只需要将ExpandableObjectConverter附加到它们?或者,如果您要了解更多细节,附加的TypeConverter需要覆盖GetPropertiesSupported和GetProperties方法。

还有另一种方法可以告诉网格在属性下显示哪些属性。您可以实现ICustomTypeDescriptor并返回自己的PropertyDescriptors。但通常这适用于更复杂的情况。

如果您需要任何具体细节,请与我联系。

在评论中

更新:,您询问了有关显示词典的问题。如果您希望将dict的每个条目视为子属性,那么这就是上面提到的复杂场景。您的TypeConverter或自定义TypeDescriptor必须为每个条目生成PropertyDescriptor。它的名字将是关键,它的价值将是... ......物业价值。 如果您是PropertyGrid的新手,我建议您仔细阅读它,因为它可能非常复杂,您可以从这里找到一个很好的资源列表:www.propertygridresourcelist.com

答案 1 :(得分:0)

我会使用树形视图控件,样式看起来像'网格'。 然后,当您向下钻取时,您可以动态加载所需的任何子项。