от
У меня есть приложение со списком покупок. Мои товары имеют некоторые свойства, такие как
string Name, bool InList
. И они реализуют вещь INotifyPropertyChanged. Это работает до сих пор. Я получаю элементы с сервера и сохраняю их в
ObservableCollection AllItemsInDataBase
. В пользовательском интерфейсе у меня есть список со всеми Предметами (для целей отладки) Список с элементами уже в списке покупок (item.InList == true) TextBox, где пользователи могут вводить имена, и им «предлагают» элементы с похожими именами. Для полного списка я просто создаю
ListBox
и присоединяю ItemsSource к
AllItemsInDataBase
, он работает как шарм. Они появляются, когда они загружаются, и все круто Теперь для двух других списков (элементов в списке покупок и элементов, соответствующих поисковому слову) я создал ListCollectionView, прикрепил его к основному списку и добавил фильтр. Как это:
public ListCollectionView ItemsInList;
ItemsInList = CollectionViewSource.GetDefaultView(AllItemsInDataBase) as ListCollectionView;
ItemsInList.Filter = i =>  (i as Item).InList ;

//fill sources for ListBox in the UI
shoppingListLB.ItemsSource = ItemsInList;
allItemsLB.ItemsSource = AllItemsInDataBase;   
И моя проблема в том, что ОБА список фильтруется! Как создать разные одновременные представления для одной и той же коллекции и отображать их одновременно? PS: как только он заработает, я создам другое представление с элементами, соответствующими полю поиска, поэтому мне нужно три фильтра одновременно              

Ваш ответ

Отображаемое имя (по желанию):
Конфиденциальность: Ваш электронный адрес будет использоваться только для отправки уведомлений.
Анти-спам проверка:
Чтобы избежать проверки в будущем, пожалуйста войдите или зарегистрируйтесь.

1 Ответ

0 голосов
от
Всякий раз, когда вы пытаетесь выполнить привязку к
ObservableCollection
...