Как отобразить динамический объект в сетке свойств?
У меня есть пользовательский тип объекта, который должен быть редактируемым вPropertyGrid
:
public class CustomObjectType
{
public string Name { get; set; }
public List<CustomProperty> Properties {get; set;}
}
У которого есть список пользовательских свойств:
public class CustomProperty
{
public string Name { get; set; }
public string Desc { get; set; }
public Object DefaultValue { get; set; }
Type type;
public Type Type
{
get
{
return type;
}
set
{
type = value;
DefaultValue = Activator.CreateInstance(value);
}
}
}
Основная проблема здесь заключается в том, чтоPropertyGrid
элемент управления не позволяет редактировать и не использует соответствующие инструменты редактирования для свойстваDefaultValue
который заранее создается путем установки значенияCustomProperty
полеType
.
ТипDefaultValue
известен только во время выполнения.
Кроме того, мне нужно поставить на заказTypeConverter
заCustomProperty
собственностьType
показать раскрывающийся список поддерживаемых типов (например,Int
, String
, Color
, MyOwnClass
).
Как бы я это сделал?