Winforms 在其他地方更改属性值时更新PropertyGrid中的属性?
我们有一个使用PropertyGrid的SelectedObject属性分配给PropertyGrid的对象。此对象包含一些属性,这些属性在不同的位置由代码更新。在本例中,假设一个是一个简单的更新(即:由以下代码-Person.FirstName=“Gareth”引起),而另一个则稍微复杂一点;从开始时间算起的持续时间(即:Person.AgeInSeconds) 有人知道最简单的方法是当属性值发生变化时,在PropertyGrid中自动更新这些属性的值吗 提前感谢,Winforms 在其他地方更改属性值时更新PropertyGrid中的属性?,winforms,properties,propertygrid,Winforms,Properties,Propertygrid,我们有一个使用PropertyGrid的SelectedObject属性分配给PropertyGrid的对象。此对象包含一些属性,这些属性在不同的位置由代码更新。在本例中,假设一个是一个简单的更新(即:由以下代码-Person.FirstName=“Gareth”引起),而另一个则稍微复杂一点;从开始时间算起的持续时间(即:Person.AgeInSeconds) 有人知道最简单的方法是当属性值发生变化时,在PropertyGrid中自动更新这些属性的值吗 提前感谢, Nick尝试将INotif
Nick尝试将INotifyPropertyChanged接口添加到对象,然后在setter中更新属性时引发事件。我不确定PropertyGrid是否查找并侦听此接口,但值得一试
如果没有,你可以自己做。因此,每次分配给SelectedObject时,都会钩住INotifyPropertyChanged接口更新事件,并在激发时获取要刷新的PropertyGrid。从SelectedObject中删除时,您将删除事件挂钩。尝试将INotifyPropertyChanged接口添加到对象中,然后在setter中更新属性时引发事件。我不确定PropertyGrid是否查找并侦听此接口,但值得一试 如果没有,你可以自己做。因此,每次分配给SelectedObject时,都会钩住INotifyPropertyChanged接口更新事件,并在激发时获取要刷新的PropertyGrid。当它从SelectedObject中删除时,您将删除事件挂钩