Обновление свойства в PropertyGrid при изменении значения свойства в другом месте?

У нас есть объект, который назначается PropertyGrid с помощью свойства SelectedObject PropertyGrid. Этот объект содержит несколько свойств, которые обновляются кодом в разных местах. Для целей этого примера предположим, что одно является простым обновлением (т.е. вызвано следующим кодом - Person.FirstName = "Gareth"), а другое - немного более сложным; продолжительность от времени начала (например, Person.AgeInSeconds).

Кто-нибудь знает, какой самый простой способ - автоматически обновить значение этого свойства в PropertyGrid при изменении значения свойств?

Заранее спасибо,

Ник


person Nicholas Hill    schedule 10.08.2010    source источник


Ответы (1)


Попробуйте добавить интерфейс INotifyPropertyChanged к своему объекту, а затем вызвать событие, когда свойство обновляется в установщике. Я не уверен, ищет и слушает ли PropertyGrid этот интерфейс, но попробовать стоит.

В противном случае вы всегда можете сделать это самостоятельно. Таким образом, каждый раз, когда вы назначаете SelectedObject, вы подключаете событие обновления интерфейса INotifyPropertyChanged, и при каждом срабатывании вы получаете PropertyGrid для обновления. Когда он удаляется из SelectedObject, вы удаляете ловушку события.

person Phil Wright    schedule 03.09.2010