4

我有一个用户类型的 BindingList,用户对象有几个属性(用户名、密码等)。所以我将一个事件处理程序绑定到 BindingList.ListChanged 事件,它在添加或删除用户时工作正常,但是,如果用户属性发生变化,它不会引发事件,有没有办法实现这一点?

bindingListUsers.Add(someUser); // This raises ListChangedEvent

bindingListUsers.Delete(someUser); // This raises ListChangedEvent

bindingListUsers[0].UserName = "Another user name"; // This does NOT raise the event
4

2 回答 2

10

您的用户类型需要实现INotifyPropertyChanged

于 2009-05-07T15:41:32.903 回答
0

我能想到的唯一方法是在 User 类中定义一个事件,该事件在属性值更改时触发(您必须为此手动编写代码)。然后创建一个绑定列表的包装类。处理该类中的列表事件和用户类事件。

如果您喜欢这个想法,我可以详细说明...

于 2009-05-07T15:39:28.087 回答