Re[7]: Нужен совет как быть с PropertyGrid
От: andreich78 Россия  
Дата: 26.08.05 07:56
Оценка:
P>Это я. Завел себе логин.
P>А я думал, что про GetPaintValueSupported и PaintValue у UITypeEditor.
они работают со столбцом значений. клики на картинках отдельно не обрабатывают.

P>Кстати, Dog написал, что UITypeEditor и TypeConverter помогут с вопросом ввода по маске.

P>Я что-то не вижу каким образом.

P>Про реализацию ISite, можно подробнее, не укладывается в голове как через реализацию свойств:

P>Component,
P>Container,
P>DesignMode,
P>Name,
P>можно потом через GetService запросить IPropertyValueUIService, у кого? В примере, что-то неясно, класс со свойствами описывает еще свойство типа ISite, а в нем у себя запрашивает этот интерфейс:

правильно что не укладывается, я похоже спутал ISite с другим интерфейсом или методом, потом поищу.
Суть такая — Проперть Site пропертигриду назначает кто-то извне. При назначении этой проперти он запрашивает у этого ISite`а сервиспровайдера. почти как в примере, только сервис — IServiceProvider. Экземпляр он сохраняет и за различными интерфейсами обращается к нему. в том числе и за IPropertyValueUIService.
Таким образом, есть два пути подставить пропертигриду собственною реализацию IPropertyValueUIService:
— присвоить ему нестандартное значение Site. такое, чтобы оно вернуло твой ServiceProvider. тогда пропертигрид возьмет то что нужно самостоятельно.
— достать через Reflection внутреннее поле, в котором живет сервиспровайдер и назначить его, минуя Site.

вот что я имел в виду, когда говорил о реализации ISite на родительской форме.
совершенно конечно не так надобыло сказать, ближе будет "реализация присваивания родительской формой свойства Site пропертигриду".
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.