PropertyGrid: значение свойства вместо значения объекта
От: AThe  
Дата: 16.09.05 07:11
Оценка:
Есть классы A и B :

class A
{
    public string Name
    {
        get
        {
            ...
        }
        set
        {
            ...
        }
    }
    public override string ToString()
    {
        ...
    }
}

class B
{
    public A PropA
    {
        get
        {
            ...
        }
        set
        {
            ...
        }
    }
}


Объект типа B отображается в PropertyGrid. Значение свойства типа A не отображается.

Как сдалать так, чтобы в PropertyGrid для свойства типа A отображалось значение Name или ToString()?
PropertyGrid: значение свойства вместо значения объекта
От: Аноним  
Дата: 16.09.05 07:40
Оценка:
Нужно сделать свой класс унаследованный от TypeConverter. Переопределить методы
public bool CanConvertTo(ITypeDescriptorContext context, Type destinationType)
и
public object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType)

в CanConvertTo, что-то типа:
if (destinationType == typeof(A))
{
return true;
}
return base.CanConvertTo(context, destinationType);

а в ConvertTo, примерно так:
if (value is A)
{
return value.ToString();
}

Если надо осуществлять ввод в это свойство, то наверное надо переопределить и ConvertFrom, а еще лучше в inete или MSDN почитать про TypeConverter и примеры с ним поискать


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
PropertyGrid: значение свойства вместо значения объекта
От: Аноним  
Дата: 16.09.05 07:50
Оценка:
Можно просто свойство A пометить атрибутом, а вот каким,
б###а-муха, не помню — флешку сегодня дома оставил. Сейчас попробую в интернете нарыть.



данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Re: PropertyGrid: значение свойства вместо значения объекта
От: andreich78 Россия  
Дата: 16.09.05 08:07
Оценка:
Здравствуйте, dma_caviar, Вы писали:

_>Можно просто свойство A пометить атрибутом, а вот каким,

_>б###а-муха, не помню — флешку сегодня дома оставил. Сейчас попробую в интернете нарыть.


[TypeConverter(typeof(MyTypeConverter))] ?
PropertyGrid: значение свойства вместо значения объекта
От: Аноним  
Дата: 16.09.05 08:11
Оценка:
> Как сдалать так, чтобы в PropertyGrid для свойства типа A отображалось значение Name

[TypeConverter(typeof(ExpandableObjectConverter))]
class A
{
...
}
см.: LayeredWindow, Lens, MenuBuilder, Win32ResourceManager, Html2XmlConverter, DropDownHolder .


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Re: PropertyGrid: значение свойства вместо значения объекта
От: SiAVoL Россия  
Дата: 16.09.05 12:32
Оценка:
Здравствуйте, AThe, Вы писали:

AT>Как сдалать так, чтобы в PropertyGrid

Читать статью, там очень популярно, с картинками и примерами кода описаны основные моменты работы с PropertyGrid
... << RSDN@Home 1.2.0 alpha rev. 569>>
Re: PropertyGrid: значение свойства вместо значения объекта
От: AThe  
Дата: 19.09.05 04:33
Оценка:
Немного перемудрил с Editor`ом. Значение отображает ToString().
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.