Я какое-то время работал над этой проблемой, и мне явно что-то не хватает ...
Я создаю, заполняю и связываю наблюдаемую коллекцию следующим образом:
Dim _ObservableWEI As New ObservableWEI
...
_ObservableWEI.Add(New WEI() With {.WEInum = 1, .WEIvalue = 1})
_ObservableWEI.Add(New WEI() With {.WEInum = 2, .WEIvalue = 0})
_ObservableWEI.Add(New WEI() With {.WEInum = 3, .WEIvalue = 2})
...
lbxAll.ItemsSource = _ObservableWEI
Что хорошо. Теперь мне нужен второй список, содержащий отфильтрованную версию коллекции. Функция фильтра извлекает элементы с WEIvalue = 1.
Dim view As ListCollectionView
...
view = CType(CollectionViewSource.GetDefaultView(_ObservableWEI), ListCollectionView)
view.Filter = New Predicate(Of Object)(AddressOf ListFilter)
...
lbxView.ItemsSource = view
Проблема в том, что фильтр влияет на содержимое обоих списков. Я думаю, мне нужен определенный экземпляр коллекции, чтобы применить фильтр или что-то еще, но я в растерянности!
Спасибо за любую помощь.