我正在编写一个C#表单应用程序,其中我有一个PropertGrid对象。此对象具有T1类型的集合,其中此集合中的每个项目也可以具有类型为T1的集合。
对象T1还有一个从Collection中选择的T2类型的对象。
创建T1类型的对象时,使用StandardValuesCollection GetStandardValues(ITypeDescriptorContext context)函数正确检索T2的集合,并且对象显示在可以选择的下拉列表中,并且值设置正确。 / p>
问题是当T1类型的对象具有T1类型的集合时。尝试显示T2的集合时,下拉列表中的值没有与之关联的文本。查看返回的StandardValuesCollection时,数据是正确的,但不会显示名称。计数也是正确的。
为什么会这样?
如果需要,我会在可能的情况下为这篇文章写一些代码,我想知道我的代码是否有一个不正确的概念,或者我错过了一些简单的东西。
答案 0 :(得分:-1)
我认为您需要覆盖T2类型的ToString()方法。请执行此操作,如果没有文字出现,请发布您的代码,以便我们更清楚地看到它。
答案 1 :(得分:-1)
我发现问题出在转码上。我没有找到正确的收藏品。