думаю, попробуйте наследовать класс CollectionConverter
и переопределить способ ConvertTo
. А затем назначьте новый класс настраиваемого конвертера в качестве атрибута: TypeConverter
.
internal class TemplateArrayConverter : CollectionConverter
{
public override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destType)
{
if (destType == typeof(String) && value is OutlookAddIn_MailHelper.Template[])
{
OutlookAddIn_MailHelper.Template[] templates = (OutlookAddIn_MailHelper.Template[])value;
if (templates.Length > 0)
{
return String.Format("Total Template: {0}", templates.Length);
}
}
return "None";
}
}
О свойстве:
[TypeConverter(typeof(TemplateArrayConverter))]
public OutlookAddIn_MailHelper.Template[] Templates { get; set;}
Вы можете переопределить ToString: PropertyGrid использует этот метод, чтобы получить текст, который будет отображаться в качестве значения каждого элемента. –
Что-то вроде этого? http://www.codeproject.com/Articles/4448/Customized-display-of-collection-data-in-a-Propert – Mino