【问题标题】:Updating property in PropertyGrid when value of property is changed elsewhere?在其他地方更改属性值时更新 PropertyGrid 中的属性?
【发布时间】:2010-08-10 10:17:41
【问题描述】:
我们有一个使用 PropertyGrid 的 SelectedObject 属性分配给 PropertyGrid 的对象。该对象包含一些属性,这些属性在各个地方由代码更新。出于本示例的目的,假设一个是简单的更新(即:由以下代码引起 - Person.FirstName = "Gareth"),而另一个稍微复杂一些;从开始时间开始的持续时间(即:Person.AgeInSeconds)。
有谁知道当属性值发生变化时,让这些属性的值在 PropertyGrid 中自动更新的最简单方法是什么?
提前致谢,
尼克
【问题讨论】:
标签:
winforms
properties
propertygrid
【解决方案1】:
尝试将 INotifyPropertyChanged 接口添加到您的对象,然后在 setter 中更新属性时引发事件。我不确定 PropertyGrid 是否会寻找并监听这个接口,但值得一试。
如果没有,您始终可以自己执行此操作。因此,每次分配给 SelectedObject 时,您都会挂钩 INotifyPropertyChanged 接口更新事件,并且每当触发时,您都会刷新 PropertyGrid。当它从 SelectedObject 中移除时,您将移除事件挂钩。