Здравствуйте, Spirit_1, Вы писали:
S_>Замечательно, значит после каждого соединения с ItemControl в памяти навсегда зависает CollectionView. Это ж глюк! 
Нет, не навсегда.
S_>Примерно по первому варианту решил, только с точностью до наоборот. Написал потомка ListBox, который правильно подписывается и отписывается от коллекции и следит за её обновлением, а базовому ListBox отдает обычную коллекцию IEnumerable.
Мне кажется, наследника контрола нужно лепить только в самом крайнем случае, когда больше ничего не помогает. Завтра понадобится заменить ListBox на TreeView — мало не покажется.