Well, I have it working now.
But I just wanted to share that I didn't need to rebuild the whole list.
I just re-set the ResourceTypes collection, and it worked (which makes sense, since I bind the listbox ItemsSource to the resources list, which means that the resources are actually reordered).
So, instead of re-creating the resources list I just did:
void Resources_CollectionChanged(object sender, NotifyCollectionChangedEventArgs e)
if (e.NewItems != null)
var result = ResourceTypes;
ResourceTypes = null;
ResourceTypes = result;
Am I missing something...?