Практическое руководство. Получение представления по умолчанию для коллекции данных

Представления позволяют просматривать одну и ту же коллекцию данных разными способами в зависимости от сортировки, фильтрации или группировки. Каждая коллекция имеет одно общее представление по умолчанию, которое используется в качестве фактического источника привязки, когда привязка указывает коллекцию в качестве источника. В этом примере показано, как получить представление коллекции по умолчанию.

Пример

Чтобы создать представление, требуется ссылка на объект коллекции. Этот объект данных можно получить, ссылаясь на собственный объект кода программной части, получая контекст данных, получая свойство источника данных или получая свойство привязки. В этом примере показано, как получить DataContext объекта данных и использовать его для прямого получения представления по умолчанию для этой коллекции.

myCollectionView = (CollectionView)
    CollectionViewSource.GetDefaultView(rootElem.DataContext);
myCollectionView = CType(CollectionViewSource.GetDefaultView(rootElem.DataContext), CollectionView)

В этом примере корневой элемент является элементом StackPanel. Параметр DataContext имеет значение myDataSource, который ссылается на поставщика данных, являющегося ObservableCollection<T> объектов Порядок.

<StackPanel.DataContext>
  <Binding Source="{StaticResource myDataSource}"/>
</StackPanel.DataContext>

Кроме того, можно создать экземпляр и привязаться к собственному представлению коллекции с помощью класса CollectionViewSource. Это представление коллекции совместно используется только элементами управления, которые привязываются к нему напрямую. Пример см. в разделе "Создание представления" в Обзоре привязки данных.

Примеры функциональных возможностей, предоставляемых представлением коллекции, см. в разделе «Сортировка данных в представлении», «Фильтрация данных" в представлении» и «Навигация по объектам в коллекции данных».

См. также