Я использую сетку свойств в winforms для отображения свойств в моем настраиваемом типе - я сделал это с использованием дескриптора настраиваемого типа (реализующего интерфейса ICustomTypeDescriptor), чтобы публичные свойства моего объекта , каждая со своей собственной реализацией PropertyDescriptor.Принудительная сетка свойств для обновления после ResetValue в PropertyDescriptor
Реализация близка к коду, описанному здесь: http://www.codeproject.com/Articles/4448/Customized-display-of-collection-data-in-a-Propert
Это работает как в я могу увидеть все свойства, и они имеют свои собственные редакторы в сетке свойств, однако у меня есть вопрос о том, как реализовать
public override void ResetValue(object component)
На базе PropertyDescriptor.
На данный момент я реализовал это так:
public override void ResetValue(object component)
{
if (!_isReadOnly && _dataDefault != null)
{
SetValue(component, _dataDefault.Value);
}
}
Однако Althogh данных действительно обновляются отображение сетки свойства просто показать старое значение, если я не обновить его - я не могу понять как изменилась сетка свойств или узнала значение, существует ли какое-то событие, которое обновляет эту ячейку, которая может быть запущена из реализации PropertyDescriptor?
SO использует Markdown для выделения кода. См. [_Markdown Cheetsheet_] (https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet#code) для дальнейшего использования. –