C#如何使用事件来更改对象更改的GUI更新?

问题描述:

C#如何使用偶数来更改对象更改的GUI更新?C#如何使用事件来更改对象更改的GUI更新?

我有一个GUI程序,它创建一个对象并通过反射在数据网格中显示对象。

当用户更新信息时,我希望能够验证新信息并向用户发送反馈。我有一种方法来验证信息,我只需要弄清楚如何用新信息更新GUI。

thx。

+0

用户是否更新网格中的信息或通过其他方式?网格有事件通知你有关更改单元格值(像CellValueChanged或类似的东西),所以你可以订阅并做你的验证。 – andyp 2009-11-03 21:50:22

也许你可能会更具体或显示一些代码,但检查.Net Datagrid的每个Column Object都有一个名为DataPropertyName的属性,该属性通过反射绑定到您的对象的属性,它应该工作.. 其他事情是在你的对象上实现INotifyPropertyChanged,并在PropertyChanged事件中刷新网格。

另一种通用的方法是在对象上支持IObservable,而在任何希望收到对象更改通知的类(如用户界面元素)上的IObserver。您可以有任意数量的观察者对您的对象进行更改。它比“开箱即用”数据绑定在数据网格等控件上的工作要多一点,但我会说更加灵活。