![]() |
1
1
好吧,所以我们最终推出了自己的收藏和视图。 我们的集合基于ObservableCollection,它附加到集合中每个元素的PropertyChanged事件。我们有一个事件,每当属性发生变化时,我们都会调用它,这样其他类和/或视图就可以钩住它,并在它们认为合适的时候处理它。 然后,我们基于ListCollectionView创建了自己的ICollectionView。视图监视集合中的CollectionItemChanged事件,只需调用(如果集合中的项是IEditableObject)IEditableList.EditItem(…)和IEditableList.Commititem(…) 此edit()和committem()导致视图刷新,而不实际调用refresh()。 这完全是“haxor”,但是,在微软为我们这些可怜的开发人员做些什么来解决这个问题之前,它一直都是有效的。 |