CollectionView CollectionView CollectionView CollectionView Class

Определение

Представляет представление для группирования, сортировки, фильтрации коллекции данных и перемещения по ней.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
Наследование
Производный
Реализации

Комментарии

Не следует создавать объекты этого класса в коде.You should not create objects of this class in your code. Чтобы создать представление коллекции для коллекции, которая реализует только IEnumerable, создание CollectionViewSource объекта, добавить в коллекцию для Source свойства и просмотреть коллекции из get 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. CollectionViewSource Класс является XAMLXAML представление CollectionView класса.The 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. CollectionViewSourceXAMLXAML представление CollectionView класс и предоставляет наиболее часто используемые члены CollectionView класса.CollectionViewSource is the XAMLXAML representation of the CollectionView class, and it exposes the most commonly used members of the CollectionView class.

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

CollectionView(IEnumerable) CollectionView(IEnumerable) CollectionView(IEnumerable) CollectionView(IEnumerable)

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

Свойства

AllowsCrossThreadChanges AllowsCrossThreadChanges AllowsCrossThreadChanges AllowsCrossThreadChanges

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

CanFilter CanFilter CanFilter CanFilter

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

CanGroup CanGroup CanGroup CanGroup

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

CanSort CanSort CanSort CanSort

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

Comparer Comparer Comparer Comparer

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

Count Count Count Count

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

Culture Culture Culture Culture

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

CurrentItem CurrentItem CurrentItem CurrentItem

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

CurrentPosition CurrentPosition CurrentPosition CurrentPosition

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

Dispatcher Dispatcher Dispatcher Dispatcher

Получает Dispatcher это DispatcherObject связан.Gets the Dispatcher this DispatcherObject is associated with.

(Inherited from DispatcherObject)
Filter Filter Filter Filter

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

GroupDescriptions GroupDescriptions GroupDescriptions GroupDescriptions

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

Groups Groups Groups Groups

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

IsCurrentAfterLast IsCurrentAfterLast IsCurrentAfterLast IsCurrentAfterLast

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

IsCurrentBeforeFirst IsCurrentBeforeFirst IsCurrentBeforeFirst IsCurrentBeforeFirst

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

IsCurrentInSync IsCurrentInSync IsCurrentInSync IsCurrentInSync

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

IsDynamic IsDynamic IsDynamic IsDynamic

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

IsEmpty IsEmpty IsEmpty IsEmpty

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

IsInUse IsInUse IsInUse IsInUse

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

IsRefreshDeferred IsRefreshDeferred IsRefreshDeferred IsRefreshDeferred

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

NeedsRefresh NeedsRefresh NeedsRefresh NeedsRefresh

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

NewItemPlaceholder NewItemPlaceholder NewItemPlaceholder NewItemPlaceholder

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

SortDescriptions SortDescriptions SortDescriptions SortDescriptions

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

SourceCollection SourceCollection SourceCollection SourceCollection

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

UpdatedOutsideDispatcher UpdatedOutsideDispatcher UpdatedOutsideDispatcher 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() CheckAccess() CheckAccess() CheckAccess()

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

(Inherited from DispatcherObject)
ClearChangeLog() ClearChangeLog() ClearChangeLog() ClearChangeLog()

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

ClearPendingChanges() ClearPendingChanges() ClearPendingChanges() ClearPendingChanges()

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

Contains(Object) Contains(Object) Contains(Object) Contains(Object)

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

DeferRefresh() DeferRefresh() DeferRefresh() DeferRefresh()

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

DetachFromSourceCollection() DetachFromSourceCollection() DetachFromSourceCollection() DetachFromSourceCollection()

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

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

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

(Inherited from Object)
GetEnumerator() GetEnumerator() GetEnumerator() GetEnumerator()

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

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

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

(Inherited from Object)
GetItemAt(Int32) GetItemAt(Int32) GetItemAt(Int32) GetItemAt(Int32)

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

GetType() GetType() GetType() GetType()

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

(Inherited from Object)
IndexOf(Object) IndexOf(Object) IndexOf(Object) IndexOf(Object)

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

MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

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

(Inherited from Object)
MoveCurrentTo(Object) MoveCurrentTo(Object) MoveCurrentTo(Object) MoveCurrentTo(Object)

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

MoveCurrentToFirst() MoveCurrentToFirst() MoveCurrentToFirst() MoveCurrentToFirst()

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

MoveCurrentToLast() MoveCurrentToLast() MoveCurrentToLast() MoveCurrentToLast()

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

MoveCurrentToNext() MoveCurrentToNext() MoveCurrentToNext() MoveCurrentToNext()

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

MoveCurrentToPosition(Int32) MoveCurrentToPosition(Int32) MoveCurrentToPosition(Int32) MoveCurrentToPosition(Int32)

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

MoveCurrentToPrevious() MoveCurrentToPrevious() MoveCurrentToPrevious() MoveCurrentToPrevious()

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

OKToChangeCurrent() OKToChangeCurrent() OKToChangeCurrent() OKToChangeCurrent()

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

OnAllowsCrossThreadChangesChanged() OnAllowsCrossThreadChangesChanged() OnAllowsCrossThreadChangesChanged() OnAllowsCrossThreadChangesChanged()

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

OnBeginChangeLogging(NotifyCollectionChangedEventArgs) OnBeginChangeLogging(NotifyCollectionChangedEventArgs) OnBeginChangeLogging(NotifyCollectionChangedEventArgs) 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) OnCollectionChanged(NotifyCollectionChangedEventArgs) OnCollectionChanged(NotifyCollectionChangedEventArgs) OnCollectionChanged(NotifyCollectionChangedEventArgs)

Создает событие CollectionChanged.Raises the CollectionChanged event.

OnCollectionChanged(Object, NotifyCollectionChangedEventArgs) OnCollectionChanged(Object, NotifyCollectionChangedEventArgs) OnCollectionChanged(Object, NotifyCollectionChangedEventArgs) OnCollectionChanged(Object, NotifyCollectionChangedEventArgs)

Создает событие CollectionChanged.Raises the CollectionChanged event.

OnCurrentChanged() OnCurrentChanged() OnCurrentChanged() OnCurrentChanged()

Создает событие CurrentChanged.Raises the CurrentChanged event.

OnCurrentChanging() OnCurrentChanging() OnCurrentChanging() OnCurrentChanging()

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

OnCurrentChanging(CurrentChangingEventArgs) OnCurrentChanging(CurrentChangingEventArgs) OnCurrentChanging(CurrentChangingEventArgs) OnCurrentChanging(CurrentChangingEventArgs)

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

OnPropertyChanged(PropertyChangedEventArgs) OnPropertyChanged(PropertyChangedEventArgs) OnPropertyChanged(PropertyChangedEventArgs) OnPropertyChanged(PropertyChangedEventArgs)

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

PassesFilter(Object) PassesFilter(Object) PassesFilter(Object) PassesFilter(Object)

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

ProcessCollectionChanged(NotifyCollectionChangedEventArgs) ProcessCollectionChanged(NotifyCollectionChangedEventArgs) ProcessCollectionChanged(NotifyCollectionChangedEventArgs) ProcessCollectionChanged(NotifyCollectionChangedEventArgs)

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

ProcessPendingChanges() ProcessPendingChanges() ProcessPendingChanges() ProcessPendingChanges()

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

Refresh() Refresh() Refresh() Refresh()

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

RefreshOrDefer() RefreshOrDefer() RefreshOrDefer() RefreshOrDefer()

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

RefreshOverride() RefreshOverride() RefreshOverride() RefreshOverride()

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

SetCurrent(Object, Int32) SetCurrent(Object, Int32) SetCurrent(Object, Int32) SetCurrent(Object, Int32)

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

SetCurrent(Object, Int32, Int32) SetCurrent(Object, Int32, Int32) SetCurrent(Object, Int32, Int32) 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() ToString() ToString() ToString()

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

(Inherited from Object)
VerifyAccess() VerifyAccess() VerifyAccess() VerifyAccess()

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

(Inherited from DispatcherObject)

События

CollectionChanged CollectionChanged CollectionChanged CollectionChanged

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

CurrentChanged CurrentChanged CurrentChanged CurrentChanged

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

CurrentChanging CurrentChanging CurrentChanging CurrentChanging

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

PropertyChanged PropertyChanged PropertyChanged PropertyChanged

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

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

IEnumerable.GetEnumerator() IEnumerable.GetEnumerator() IEnumerable.GetEnumerator() IEnumerable.GetEnumerator()

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

INotifyCollectionChanged.CollectionChanged INotifyCollectionChanged.CollectionChanged INotifyCollectionChanged.CollectionChanged INotifyCollectionChanged.CollectionChanged

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

INotifyPropertyChanged.PropertyChanged INotifyPropertyChanged.PropertyChanged INotifyPropertyChanged.PropertyChanged INotifyPropertyChanged.PropertyChanged

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

Extension Methods

Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable)

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

OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable)

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

AsParallel(IEnumerable) AsParallel(IEnumerable) AsParallel(IEnumerable) AsParallel(IEnumerable)

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

AsQueryable(IEnumerable) AsQueryable(IEnumerable) AsQueryable(IEnumerable) AsQueryable(IEnumerable)

Преобразует IEnumerable для IQueryable.Converts an IEnumerable to an IQueryable.

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