鉴于这样的课程:
public class SomeClass
{
public SomeClass()
{
Name = "Default";
Values = Enumerable.Range(1,3).ToArray();
}
public string Name { get; set; }
public int[] Values { get; set; }
}
该类的默认实例在PropertyGrid
控件上显示如下:
是否可以覆盖为Values
属性显示的文字,以便显示1, 2, 3
而不是Int32[] Array
。
我们欢迎涉及反映和继承PropertyGrid
控件的解决方案。
答案 0 :(得分:2)
我认为您可以向TypeConverter
添加Values
属性:
[TypeConverter(typeof(IntArrayToStringTypeConverter))]
public int[] Values { get; set; }
然后根据documentation创建IntArrayToStringTypeConverter
。不确定是否已经有一个类型转换器可以做你想要的。