У меня есть два расширенных представления коллекции из набора инструментов сообщества Windows, и оба они привязаны к одному и тому же ObservableCollection с разными фильтрами и сортировкой, в основном в одном из них мне нужно показать только последнее и ограниченное количество элементов. Как я могу этого добиться?
PeoplePrivate = new ObservableCollection<Person>();
var People = new AdvancedCollectionView(PeoplePrivate, true) { Filter = x => true };
People.SortDescriptions.Add(new SortDescription(nameof(Person.Name), SortDirection.Ascending));
var RecentPeople = new AdvancedCollectionView(PeoplePrivate, true) { Filter = x => true };
RecentPeople.SortDescriptions.Add(new SortDescription(nameof(Person.Modified), SortDirection.Descending));
Как вы можете видеть в приведенном выше коде, недавние люди должны отображать только 20 последних людей в соответствии с датой изменения. Кажется, нет никакого свойства, чтобы установить максимальный размер в представлении advancedCollection или сделать что-то вроде Take(20).
Я попытался вернуть новый advancedCollection, сначала создав IEnumerable с помощью Take(20), но это выглядит неправильно, потому что мне нужно, чтобы он был связан с тем же ObservableCollection.