C# .NET PropertyGrid:值为null时创建可展开项

C# .NET PropertyGrid:值为null时创建可展开项,c#,class,null,propertygrid,expandable,C#,Class,Null,Propertygrid,Expandable,我有一些公共属性的ClassA。ClassBValue的一个属性是类类型ClassB,它也有一些公共属性。现在我想在PropertyGrid中显示ClassA对象。 我使用 [TypeConverter(typeof(ExpandableObjectConverter))] ClassA的ClassB属性的属性 问题是,ClassBValue属性在PropertyGrid中显示时为null。如何使用户能够在PropertyGrid中创建ClassB对象? 用户应该能够为ClassBValue设

我有一些公共属性的ClassA。ClassBValue的一个属性是类类型ClassB,它也有一些公共属性。现在我想在PropertyGrid中显示ClassA对象。 我使用

[TypeConverter(typeof(ExpandableObjectConverter))]
ClassA的ClassB属性的属性

问题是,ClassBValue属性在PropertyGrid中显示时为null。如何使用户能够在PropertyGrid中创建ClassB对象?
用户应该能够为ClassBValue设置一个值,编辑子属性,还可以删除该值,并将其设置为null。

您需要一个自定义类型转换器

我已经尝试实现一个从ExpandableObjectConverter继承的类型转换器,它可以从/转换为字符串。但是用户必须以正确的格式输入一个字符串来创建ClassB对象值。这既不直观也不符合人体工程学。有什么建议可以做得更好吗?