2010-08-10 6 views
2

Nous avons un objet qui est assigné à un PropertyGrid en utilisant la propriété SelectedObject du PropertyGrid. Cet objet contient quelques propriétés qui sont mises à jour par le code à différents endroits. Pour les besoins de cet exemple, supposons que l'on soit une simple mise à jour (ie: causée par le code suivant - Person.FirstName = "Gareth"), et qu'une autre soit un peu plus complexe; une durée à partir d'une heure de début (par exemple: Person.AgeInSeconds).Mise à jour de la propriété dans PropertyGrid lorsque la valeur de la propriété est modifiée ailleurs?

Est-ce que quelqu'un sait quelle est la méthode la plus simple pour que la valeur de ces propriétés soit mise à jour automatiquement dans un PropertyGrid, lorsque la valeur des propriétés change?

Merci à l'avance,

Nick

Répondre

0

Essayez d'ajouter l'interface INotifyPropertyChanged à votre objet et l'événement est lorsqu'un bien est mis à jour dans le setter. Je ne suis pas sûr si le PropertyGrid recherche et écoute cette interface, mais cela vaut la peine d'essayer. Si ce n'est pas le cas, vous pouvez toujours le faire vous-même. Ainsi, chaque fois que vous affectez à SelectedObject, vous connectez l'événement de mise à jour de l'interface INotifyPropertyChanged et chaque fois que vous obtenez le PropertyGrid à actualiser. Lorsqu'il est supprimé de SelectedObject, vous supprimez le hook d'événement.

Questions connexes