我有一种情况,我需要知道何时将在集合中添加/删除/修改项目。
我尝试在将触发这些事件的类中继承 BindingList,但是“添加”事件不起作用。我发现它工作的唯一方法是重写 EndNew() 方法,但是我没有找到一种方法来获取要在此方法中添加的对象(如果有人对此有解决方案,那也没关系!)。
所以构建了一个全新的类,它继承自 BindingList 的相同接口/类并实现了所有内容(但是,我没有继承 ICancelAddNew)。
我通过数据绑定将它绑定到我的列表框,我发现没有任何效果(listchanged 事件和 listchanged 事件)。如何在列表框上模拟 BindingList 行为?
任何建议都非常感谢,我没有任何其他解决方法的想法
编辑1:
这是我的收藏:http ://pastie.org/1978601 这就是我将收藏绑定到 ListBox 的方式
SpellCasterManager.CurrentProfile.ButtonsMacro.ListChanged += new ListChangedEventHandler(ButtonsMacro_ListChanged);
SpellCasterManager.CurrentProfile.ButtonsMacro.ListChanging += new Expand.ComponentModel.ListChangingEventHandler(ButtonsMacro_ListChanging);
gumpButton.DataBindings.Add("Value", SpellCasterManager.CurrentProfile.ButtonsMacro, "GumpIndex", false, DataSourceUpdateMode.OnPropertyChanged);
实际上在订阅事件下只有一个 MessageBox.Show("bla");