First off let me say that's for posting this, I really do appreciate the effort you guys go to. This is pretty much exactly what I was looking for. It seems to be (IMHO) an area that has been majorly overlooked. The messing around to get lists in
sync can add complexity to an application that we are trying to simplify.
However, I can't make up my mind if I like the solution or not, and hopefully I want to start a discussion on it to find other peoples views.
The wrapper is tied to an ObservableCollection, but what if I want a BindingList? Ok I suppose I could write a BindingListWrapper, but it's not the generic solution I was hoping for.
The other problem I have is polluting the Model with anything 'Observable' - we may not have control over the list types in the model (let's assume IList as a minimum) so we may not be able to make them observable.
Surely we are talking about the synchronisation of 2 lists (regardless of type). Each list needs to (somehow) notify the other list that things have happened - Items added/deleted/replaced or an item has itself been modified.
Is there not a pattern out there that can sort this out? (There seems to be a pattern for every solution nowadays!) :-)
Please keep up the good work and let me know your thoughts.