Здравствуйте, _FRED_, Вы писали:
_FR>Во-первых, перегрузи TypeDescriptor.GetStandardValuesSupported(…)
_FR>Во-вторых
, таких свойств, как
_FR>M>> // перекрываю свойство Converter
M>> public override TypeConverter Converter
M>> {
M>> get
M>> {
M>> return new ModifiersTypeConverter(m_PropDesc);
M>> }
M>> }
_FR>
_FR>быть не должно: добавь readonly-поле типа TypeConverter к классу и инициализируй его в конструкторе и возвращай из свойства.
Доброе утро, что то опять не выкидывается список модификаторво доступа. Только одно значение, а не список.
Что я сделал:
1)Перекрыл метод TypeDescriptor.
GetStandardValuesSupported(…):
public override bool GetPropertiesSupported(ITypeDescriptorContext context)
{
return true;
}
2) Объявил поле readonly, инициализировал в конструкторе и возвратил:
/// <summary>
/// Класс, возвращающий свойство Modifiers
/// </summary>
public class ModifiersPropertyDescriptor : PropertyDescriptor
{
// свойство, которое будет отображаться
PropertyDescriptor m_PropDesc;
readonly ModifiersTypeConverter mtc;
/// <summary>
/// Конструктор
/// </summary>
/// <param name="PropDesc"></param>
public ModifiersPropertyDescriptor(PropertyDescriptor PropDesc) : base(PropDesc)
{
m_PropDesc = PropDesc;
mtc = new ModifiersTypeConverter();
}
#region PropertyDescriptor Overrided Members
// перекрываю свойство Converter
public override TypeConverter Converter
{
get
{
return mtc;
//return new ModifiersTypeConverter(m_PropDesc);
}
}
....
}