在其他地方更改属性值时更新PropertyGrid中的属性?

时间:2010-08-10 10:17:42

标签: winforms properties propertygrid

我们有一个使用PropertyGrid的SelectedObject属性分配给PropertyGrid的对象。此对象包含一些属性,这些属性在不同位置由代码更新。出于此示例的目的,假设一个是简单更新(即:由以下代码引起 - Person.FirstName =“Gareth”),另一个更复杂;从开始时间开始的持续时间(即:Person.AgeInSeconds)。

当属性值发生变化时,是否有人知道最简单的方法是在PropertyGrid中自动更新这些属性的值?

提前致谢,

尼克

1 个答案:

答案 0 :(得分:0)

尝试将INotifyPropertyChanged接口添加到对象,然后在setter中更新属性时引发事件。我不确定PropertyGrid是否查找并侦听此接口,但值得一试。

如果不是,你可以随时自己做。因此,每次分配给SelectedObject时,都会挂起INotifyPropertyChanged接口更新事件,每当触发时,都会让PropertyGrid刷新。从SelectedObject中删除它时,您将删除事件挂钩。