Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка Windows Forms > Автообновление PropertyGrid


Автор: marshal64 18.4.2011, 16:19
Необходимо реализовать автообновление PropertyGrid, т.е. если значение свойства меняется не в PropertyGrid, а извне, то чтобы PropertyGrid обновлялось без явного Refresh. Добавление атрибутов RefreshPropertiesAttribute(RefreshProperties.All) к свойствам не помогает.
Встретил только такую подсказку:
"на самом деле, там несколько тоньше: нужно установить PropertyGrid.Site такой, чтобы он отвечал на GetService(typeof(IDesignerHost))
 только в таком случае PropertyGrid начинает запрашивать другие сервисы, в том числе IComponentChangeService.
 Вообще говоря, похоже на некоторую нестыковку у микрософта — с одной стороны, PropertyDescriptor поддерживает в принципе оповещения об изменении значения, с другой — PropertyGrid на него забивает и использует сервис. Похоже, в ходе разработки поняли, что нужны транзакции для нормальной скорости работы всех связки — и сделали IComponentChangeService."

Но как это реализовать не очень понятно.
Всем заранее спасибо за любую помощь)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)