2

给定这样的类:

public class SomeClass
{
    public SomeClass()
    {
        Name = "Default";
        Values = Enumerable.Range(1,3).ToArray();
    }

    public string Name { get; set; }
    public int[] Values { get; set; }
}

类的默认实例在PropertyGrid控件上如下所示:
PropertyGrid.SelectedObject = new SomeClass();

是否可以覆盖为Values属性显示的文本,使其显示类似1, 2, 3而不是Int32[] Array.



PropertyGrid欢迎涉及反射和从控件 继承的解决方案。

4

1 回答 1

2

我认为您可以将TypeConverter属性添加到Values

[TypeConverter(typeof(IntArrayToStringTypeConverter))]
public int[] Values { get; set; }

IntArrayToStringTypeConverter然后根据文档创建一个。不确定是否已经有一个类型转换器可以满足您的需求。

于 2013-02-05T12:01:02.537 回答