Listbox ItemsSource скрывает отфильтрованные элементы CollectionView из исходной коллекции.Почему? - PullRequest
0 голосов
/ 26 сентября 2019

У меня есть ObservableCollection и ListCollectionView для него.Я применяю фильтр видимости для списка с предикатом.Работает нормально.Когда я привязываю свою коллекцию к Listbox ItemsSource, отфильтрованные записи не отображаются.Конечно, это нормально, когда мой ItemsSource является ListView, но это происходит, когда мой исходный ObservableCollection также является источником.Почему?Почему происходит фильтрация моего исходного источника?

Когда я использую DevExpress GridControl, различные источники работают, как я ожидаю.Но не ListBox, TabControl и т. Д. Как я могу показать все элементы из OC, когда на ListView есть фильтр?

Обновление: базовый пример кода

public class CollectionModel<T>
{
    public ObservableCollection<T> List { get; set; }

    public ListCollectionView ListView { get; set; }

    public CollectionModel()
    {
        List = new ObservableCollection<T>();

        ListView = (ListCollectionView)CollectionViewSource.GetDefaultView(List);
        ListView.Filter = new Predicate<object>(FilterVisibility);
    }

    bool FilterVisibility(object obj)
    {
        ...
    }
}

Спасибо, Золтан

...