Как у меня может быть обновление сетки свойства автоматически, когда объект в его свойстве SelectedObject изменяется? Я попытался реализовать INotifyPropertyChanged в своем классе, но сетка свойства на самом деле не показывает новый propertyies объекта в фоновом режиме, пока я не нажимаю на него.
Я попытался подписаться на событие PropertyChanged своего объекта непосредственно и назвать Обновление () методом PropertyGrid, когда это вызывается. Но некоторые мои свойства связаны. Значение изменения одного свойства может вызвать несколько событий PropertyChanged. Это, кажется, хорошо работает, но я все еще задаюсь вопросом, существует ли более чистый способ сделать это через DataBinding. Также я хотел бы постараться не иметь Обновление управления многократно после того, как пользователь только обновил единственное свойство.
Так существует ли способ заставить PropertyGrid обновляться от событий PropertyChanged?
Я не знаю, есть ли встроенный способ сделать это, но вот предложение, если вы хотите избежать многократных вызовов Refresh
для связанных свойств:
Когда происходит событие PropertyChanged
, запускается таймер. Если событие повторяется до истечения таймера, ничего не предпринимайте. В событии Tick
таймера обновите PropertyGrid
и остановите таймер