2015-07-28 3 views
0

Я использую сетку свойств в 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?

+0

SO использует Markdown для выделения кода. См. [_Markdown Cheetsheet_] (https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet#code) для дальнейшего использования. –

ответ

0

Я нашел подобный вопрос здесь: PropertyGrid doesn't notice properties changed in code?

Решение, которое я пошел с было осуществить события уведомления INotifyPropertyChanged и зарегистрировать его на сетке свойств, чтобы обновить.

 Смежные вопросы

  • Нет связанных вопросов^_^