CollectionView Класс

Определение

Представляет представление для группирования, сортировки, фильтрации коллекции данных и перемещения по ней.Represents a view for grouping, sorting, filtering, and navigating a data collection.

public ref class CollectionView : System::Windows::Threading::DispatcherObject, System::Collections::IEnumerable, System::Collections::Specialized::INotifyCollectionChanged, System::ComponentModel::ICollectionView, System::ComponentModel::INotifyPropertyChanged
public class CollectionView : System.Windows.Threading.DispatcherObject, System.Collections.IEnumerable, System.Collections.Specialized.INotifyCollectionChanged, System.ComponentModel.ICollectionView, System.ComponentModel.INotifyPropertyChanged
type CollectionView = class
    inherit DispatcherObject
    interface ICollectionView
    interface IEnumerable
    interface INotifyCollectionChanged
    interface INotifyPropertyChanged
Public Class CollectionView
Inherits DispatcherObject
Implements ICollectionView, IEnumerable, INotifyCollectionChanged, INotifyPropertyChanged
Наследование
CollectionView
Производный
Реализации

Комментарии

Не следует создавать объекты этого класса в коде.You should not create objects of this class in your code. Чтобы создать представление коллекции для коллекции IEnumerable, которая реализует только, CollectionViewSource создайте объект, Source добавьте коллекцию в свойство и получите представление коллекции из View свойства.To create a collection view for a collection that only implements IEnumerable, create a CollectionViewSource object, add your collection to the Source property, and get the collection view from the View property.

Представление коллекции можно представить как слой поверх исходной коллекции привязки, который позволяет перемещаться по запросам и отображать их на основе запросов сортировки, фильтрации и группирования без необходимости управлять самой исходной коллекцией.You can think of a collection view as a layer on top of a binding source collection that allows you to navigate and display the collection based on sort, filter, and group queries, all without having to manipulate the underlying source collection itself. Если исходная коллекция реализует INotifyCollectionChanged интерфейс, то изменения, которые CollectionChanged вызывают событие, передаются в представления.If the source collection implements the INotifyCollectionChanged interface, the changes that raise the CollectionChanged event are propagated to the views.

Поскольку представление не изменяет базовую исходную коллекцию, в исходной коллекции может быть связано несколько представлений.Because a view does not change the underlying source collection, a source collection can have multiple views associated with it. С помощью представлений можно отображать одни и те же данные различными способами.By using views, you can display the same data in different ways. Например, можно использовать два представления в коллекции Task объектов для отображения задач, отсортированных по приоритету, на одной части страницы и сгруппированных по областям в другой части страницы.For example, you can use two views on a collection of Task objects to show tasks sorted by priority on one part of the page and grouped by area on another part of the page.

В WPFWPF приложениях все коллекции имеют связанное представление коллекции по умолчанию.In WPFWPF applications, all collections have an associated default collection view. Вместо того, чтобы работать с коллекцией напрямую, обработчик привязки всегда получает доступ к коллекции через связанное представление.Rather than working with the collection directly, the binding engine always accesses the collection through the associated view. Чтобы получить представление по умолчанию, используйте CollectionViewSource.GetDefaultView метод.To get the default view, use the CollectionViewSource.GetDefaultView method. Внутренний класс, основанный CollectionView на, является представлением по умолчанию для IEnumerableколлекций, реализующих только.An internal class based on CollectionView is the default view for collections that implement only IEnumerable. ListCollectionViewявляется представлением по умолчанию для коллекций IList, реализующих.ListCollectionView is the default view for collections that implement IList. BindingListCollectionViewявляется представлением по умолчанию для коллекций IBindingListView , IBindingListреализующих или.BindingListCollectionView is the default view for collections that implement IBindingListView or IBindingList.

Кроме того, можно создать представление коллекции в Язык XAMLExtensible Application Markup Language (XAML) с CollectionViewSource помощью класса, а затем привязать элемент управления к этому представлению.Alternatively, you can create a view of your collection in Язык XAMLExtensible Application Markup Language (XAML) by using the CollectionViewSource class and then bind your control to that view. Класс является представлением CollectionViewкласса. XAMLXAML CollectionViewSourceThe CollectionViewSource class is the XAMLXAML representation of the CollectionView class. Пример см. в статье Практическое руководство. Сортировка и группирование данных с помощью представления вXAML.For an example, see How to: Sort and Group Data Using a View in XAML.

Дополнительные сведения см. в разделе "привязка к коллекциям" раздела Общие сведения о привязке данных.For more information, see "Binding to Collections" in Data Binding Overview.

Чтобы задать представление в XAMLXAML, CollectionViewSource используйте класс.To set a view in XAMLXAML, use the CollectionViewSource class. CollectionViewSourceпредставляет собой CollectionView CollectionView представление класса и предоставляет наиболее часто используемые члены класса. XAMLXAMLCollectionViewSource is the XAMLXAML representation of the CollectionView class, and it exposes the most commonly used members of the CollectionView class.

Конструкторы

CollectionView(IEnumerable)

Инициализация нового экземпляра класса CollectionView, являющегося представлением заданной коллекции.Initializes a new instance of the CollectionView class that represents a view of the specified collection.

Свойства

AllowsCrossThreadChanges

Получает значение, указывающее, может ли какой-либо поток, кроме создавшего CollectionView, изменить SourceCollection.Gets a value that indicates whether a thread other than the one that created the CollectionView can change the SourceCollection.

CanFilter

Получает значение, которое определяет, поддерживает ли представление фильтрацию.Gets a value that indicates whether the view supports filtering.

CanGroup

Получение значения, которое определяет, поддерживает ли представление группировку.Gets a value that indicates whether the view supports grouping.

CanSort

Получает значение, которое определяет, поддерживает ли представление сортировку.Gets a value that indicates whether the view supports sorting.

Comparer

Возврат объекта, который можно использовать для сравнения элементов представления.Returns an object that you can use to compare items in the view.

Count

Получения числа записей в представлении.Gets the number of records in the view.

Culture

Возвращает или задает сведений о языке и региональных параметрах, используемых в ходе сортировки.Gets or sets the culture information to use during sorting.

CurrentItem

Возвращает текущий элемент в представлении.Gets the current item in the view.

CurrentPosition

Получение порядкового номера CurrentItem в рамках представления (возможна сортировка и фильтрация).Gets the ordinal position of the CurrentItem within the (optionally sorted and filtered) view.

Dispatcher

Возвращает объект Dispatcher, с которым связан этот объект DispatcherObject.Gets the Dispatcher this DispatcherObject is associated with.

(Унаследовано от DispatcherObject)
Filter

Возвращает или задает метод, который используется для определения того, подходит ли элемент для включения в представление.Gets or sets a method used to determine if an item is suitable for inclusion in the view.

GroupDescriptions

Получение коллекции объектов GroupDescription, описывающих группировку элементов коллекции в данном представлении.Gets a collection of GroupDescription objects that describes how the items in the collection are grouped in the view.

Groups

Получает коллекцию групп высшего уровня, конструируемого на основе свойства GroupDescriptions.Gets a collection of the top-level groups that is constructed based on the GroupDescriptions property.

IsCurrentAfterLast

Возвращает значение, показывающее, находится ли элемент CurrentItem за концом коллекции.Gets a value that indicates whether the CurrentItem of the view is beyond the end of the collection.

IsCurrentBeforeFirst

Получает значение, указывающее, находится ли элемент CurrentItem представления перед началом коллекции.Gets a value that indicates whether the CurrentItem of the view is before the beginning of the collection.

IsCurrentInSync

Получение значения, которое определяет, находится ли CurrentItem в CurrentPosition.Gets a value that indicates whether the CurrentItem is at the CurrentPosition.

IsDynamic

Получение значения, определяющего, предоставляет ли базовая коллекция уведомления об изменениях.Gets a value that indicates whether the underlying collection provides change notifications.

IsEmpty

Получение значения, которое определяет, является ли пустым полученное (отфильтрованное) представление.Gets a value that indicates whether the resulting (filtered) view is empty.

IsInUse

Получает значение, указывающее, подписывается ли какой-либо объект на события этого CollectionView.Gets a value that indicates whether any object is subscribing to the events of this CollectionView.

IsRefreshDeferred

Получает значение, которое указывает, используется ли метод DeferRefresh().Gets a value that indicates whether there is an outstanding DeferRefresh() in use.

NeedsRefresh

Получение значения, которое определяет, необходимо ли обновление представлению.Gets a value that indicates whether the view needs to be refreshed.

NewItemPlaceholder

Получает объект, находящийся в коллекции для представления нового элемента.Gets the object that is in the collection to represent a new item.

SortDescriptions

Получение коллекции структур SortDescription, описывающей сортировку коллекции в данном представлении.Gets a collection of SortDescription structures that describes how the items in the collection are sorted in the view.

SourceCollection

Возврат базовой неотфильтрованной коллекции.Returns the underlying unfiltered collection.

UpdatedOutsideDispatcher

Получение значения, определяющего, стоит ли обновлять журнал записей из-за получения уведомления CollectionChanged по другому потоку, не вводя сперва в диспетчер потока пользовательский интерфейсuser interface (UI).Gets a value that indicates whether it has been necessary to update the change log because a CollectionChanged notification has been received on a different thread without first entering the пользовательский интерфейсuser interface (UI) thread dispatcher.

Методы

CheckAccess()

Определяет, имеет ли вызывающий поток доступ к этому DispatcherObject.Determines whether the calling thread has access to this DispatcherObject.

(Унаследовано от DispatcherObject)
ClearChangeLog()

Очищение ожидающих изменений из журнала измененийClears any pending changes from the change log.

ClearPendingChanges()

Очищает необработанные изменения в коллекцию.Clears unprocessed changed to the collection.

Contains(Object)

Возврат значения, определяющего, принадлежит ли заданный элемент данному представлению.Returns a value that indicates whether the specified item belongs to the view.

DeferRefresh()

Вводит отложенный цикл, который можно использовать для слияния изменений с представлением и задержки автоматического обновления.Enters a defer cycle that you can use to merge changes to the view and delay automatic refresh.

DetachFromSourceCollection()

Удаляет ссылку на базовую коллекцию из CollectionView.Removes the reference to the underlying collection from the CollectionView.

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.Determines whether the specified object is equal to the current object.

(Унаследовано от Object)
GetEnumerator()

Возврат объекта, который можно использовать для перечисления элементов представления.Returns an object that you can use to enumerate the items in the view.

GetHashCode()

Служит в качестве хэш-функции по умолчанию.Serves as the default hash function.

(Унаследовано от Object)
GetItemAt(Int32)

Получение элемента в заданном начинающемся с нуля индексе представления.Retrieves the item at the specified zero-based index in the view.

GetType()

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

(Унаследовано от Object)
IndexOf(Object)

Возврат индекса, в котором расположен заданный элемент.Returns the index at which the specified item is located.

MemberwiseClone()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

(Унаследовано от Object)
MoveCurrentTo(Object)

Задает указанный элемент в качестве свойства CurrentItem в представлении.Sets the specified item to be the CurrentItem in the view.

MoveCurrentToFirst()

Задает первый элемент в представлении в качестве CurrentItem.Sets the first item in the view as the CurrentItem.

MoveCurrentToLast()

Задает последний элемент в представлении в качестве CurrentItem.Sets the last item in the view as the CurrentItem.

MoveCurrentToNext()

Задает элемент после CurrentItem в представлении в качестве элемента CurrentItem.Sets the item after the CurrentItem in the view as the CurrentItem.

MoveCurrentToPosition(Int32)

Задает элемент по заданному индексу в качестве CurrentItem в представлении.Sets the item at the specified index to be the CurrentItem in the view.

MoveCurrentToPrevious()

Устанавливает элемент перед элементом CurrentItem в качестве CurrentItem.Sets the item before the CurrentItem in the view as the CurrentItem.

OKToChangeCurrent()

Возвращение значения, которое определяет, может ли представление менять то, какой элемент является CurrentItem.Returns a value that indicates whether the view can change which item is the CurrentItem.

OnAllowsCrossThreadChangesChanged()

Происходит при изменении свойства AllowsCrossThreadChanges.Occurs when the AllowsCrossThreadChanges property changes.

OnBeginChangeLogging(NotifyCollectionChangedEventArgs)

Вызван базовым классом, чтобы уведомить производный класс, что событие CollectionChanged было отправлено в очередь сообщений.Called by the base class to notify the derived class that an CollectionChanged event has been posted to the message queue.

OnCollectionChanged(NotifyCollectionChangedEventArgs)

Вызывает событие CollectionChanged.Raises the CollectionChanged event.

OnCollectionChanged(Object, NotifyCollectionChangedEventArgs)

Вызывает событие CollectionChanged.Raises the CollectionChanged event.

OnCurrentChanged()

Вызывает событие CurrentChanged.Raises the CurrentChanged event.

OnCurrentChanging()

Порождение события CurrentChanging, которое не подлежит отмене.Raises a CurrentChanging event that is not cancelable.

OnCurrentChanging(CurrentChangingEventArgs)

Порождение события CurrentChanging посредством заданных аргументов.Raises the CurrentChanging event with the specified arguments.

OnPropertyChanged(PropertyChangedEventArgs)

Порождение события PropertyChanged с помощью заданных аргументов.Raises the PropertyChanged event using the specified arguments.

PassesFilter(Object)

Возврат значения, определяющего, принадлежит ли заданный элемент в базовой коллекции представлению.Returns a value that indicates whether the specified item in the underlying collection belongs to the view.

ProcessCollectionChanged(NotifyCollectionChangedEventArgs)

При переопределении в производном классе выполняется обработка одного изменения в потоке ИПUI.When overridden in a derived class, processes a single change on the ИПUI thread.

ProcessPendingChanges()

Гарантирует, что были зафиксированы все ожидающие изменения в коллекции.Ensures that all pending changes to the collection have been committed.

Refresh()

Повторное создание представления.Re-creates the view.

RefreshOrDefer()

Обновление представления или указание на необходимость обновления представления после завершения отложенного цикла.Refreshes the view or specifies that the view needs to be refreshed when the defer cycle completes.

RefreshOverride()

Повторное создание представления.Re-creates the view.

SetCurrent(Object, Int32)

Установка заданного элемента и индекса в качестве значений свойств CurrentItem и CurrentPosition.Sets the specified item and index as the values of the CurrentItem and CurrentPosition properties.

SetCurrent(Object, Int32, Int32)

Установка заданного элемента и индекса в качестве значений свойств CurrentItem и CurrentPosition.Sets the specified item and index as the values of the CurrentItem and CurrentPosition properties. Данный метод можно вызвать из конструктора производного класса.This method can be called from a constructor of a derived class.

ToString()

Возвращает строку, представляющую текущий объект.Returns a string that represents the current object.

(Унаследовано от Object)
VerifyAccess()

Обеспечивает наличие у вызывающего потока доступ к этому DispatcherObject.Enforces that the calling thread has access to this DispatcherObject.

(Унаследовано от DispatcherObject)

События

CollectionChanged

Происходит при изменении представления.Occurs when the view has changed.

CurrentChanged

Происходит после изменения CurrentItem.Occurs after the CurrentItem has changed.

CurrentChanging

Происходит, когда CurrentItem меняется.Occurs when the CurrentItem is changing.

PropertyChanged

Происходит при изменении значения свойства.Occurs when a property value has changed.

Явные реализации интерфейса

IEnumerable.GetEnumerator()

Возврат объекта IEnumerator, который можно использовать для перечисления элементов представления.Returns an IEnumerator object that you can use to enumerate the items in the view.

INotifyCollectionChanged.CollectionChanged

Происходит при изменении представления.Occurs when the view has changed.

INotifyPropertyChanged.PropertyChanged

Возникает при смене значения свойства.Occurs when a property value changes.

Методы расширения

Cast<TResult>(IEnumerable)

Приводит элементы объекта IEnumerable к заданному типу.Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable)

Выполняет фильтрацию элементов объекта IEnumerable по заданному типу.Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable)

Позволяет осуществлять параллельный запрос.Enables parallelization of a query.

AsQueryable(IEnumerable)

Преобразовывает коллекцию IEnumerable в объект IQueryable.Converts an IEnumerable to an IQueryable.

Применяется к