Поделиться через


ItemCollection Класс

Определение

Содержит список элементов, составляющих содержимое объекта ItemsControl.

public ref class ItemCollection sealed : System::Windows::Data::CollectionView, System::Collections::IList, System::ComponentModel::IEditableCollectionView, System::ComponentModel::IItemProperties, System::Windows::IWeakEventListener
public ref class ItemCollection sealed : System::Windows::Data::CollectionView, System::Collections::IList, System::ComponentModel::IEditableCollectionViewAddNewItem, System::ComponentModel::IItemProperties, System::Windows::IWeakEventListener
public ref class ItemCollection sealed : System::Windows::Data::CollectionView, System::Collections::IList, System::ComponentModel::ICollectionViewLiveShaping, System::ComponentModel::IEditableCollectionViewAddNewItem, System::ComponentModel::IItemProperties, System::Windows::IWeakEventListener
[System.Windows.Localizability(System.Windows.LocalizationCategory.Ignore)]
public sealed class ItemCollection : System.Windows.Data.CollectionView, System.Collections.IList, System.ComponentModel.IEditableCollectionView, System.ComponentModel.IItemProperties, System.Windows.IWeakEventListener
[System.Windows.Localizability(System.Windows.LocalizationCategory.Ignore)]
public sealed class ItemCollection : System.Windows.Data.CollectionView, System.Collections.IList, System.ComponentModel.IEditableCollectionViewAddNewItem, System.ComponentModel.IItemProperties, System.Windows.IWeakEventListener
[System.Windows.Localizability(System.Windows.LocalizationCategory.Ignore)]
public sealed class ItemCollection : System.Windows.Data.CollectionView, System.Collections.IList, System.ComponentModel.ICollectionViewLiveShaping, System.ComponentModel.IEditableCollectionViewAddNewItem, System.ComponentModel.IItemProperties, System.Windows.IWeakEventListener
[<System.Windows.Localizability(System.Windows.LocalizationCategory.Ignore)>]
type ItemCollection = class
    inherit CollectionView
    interface IList
    interface ICollection
    interface IEnumerable
    interface IEditableCollectionView
    interface IItemProperties
    interface IWeakEventListener
[<System.Windows.Localizability(System.Windows.LocalizationCategory.Ignore)>]
type ItemCollection = class
    inherit CollectionView
    interface IList
    interface ICollection
    interface IEnumerable
    interface IEditableCollectionViewAddNewItem
    interface IEditableCollectionView
    interface IItemProperties
    interface IWeakEventListener
[<System.Windows.Localizability(System.Windows.LocalizationCategory.Ignore)>]
type ItemCollection = class
    inherit CollectionView
    interface IList
    interface ICollection
    interface IEnumerable
    interface IEditableCollectionViewAddNewItem
    interface IEditableCollectionView
    interface ICollectionViewLiveShaping
    interface IItemProperties
    interface IWeakEventListener
[<System.Windows.Localizability(System.Windows.LocalizationCategory.Ignore)>]
type ItemCollection = class
    inherit CollectionView
    interface ICollection
    interface IEnumerable
    interface IList
    interface ICollectionViewLiveShaping
    interface IEditableCollectionView
    interface IEditableCollectionViewAddNewItem
    interface IItemProperties
    interface IWeakEventListener
Public NotInheritable Class ItemCollection
Inherits CollectionView
Implements IEditableCollectionView, IItemProperties, IList, IWeakEventListener
Public NotInheritable Class ItemCollection
Inherits CollectionView
Implements IEditableCollectionViewAddNewItem, IItemProperties, IList, IWeakEventListener
Public NotInheritable Class ItemCollection
Inherits CollectionView
Implements ICollectionViewLiveShaping, IEditableCollectionViewAddNewItem, IItemProperties, IList, IWeakEventListener
Наследование
Атрибуты
Реализации

Примеры

Если у вас есть содержимое ItemsControl, например ListBox содержимое, можно использовать Items свойство для доступа к ItemCollectionпредставлению. Так как это представление, вы можете использовать функциональные возможности, связанные с представлением, такие как сортировка, фильтрация и группирование. Обратите внимание, что при установке ItemsSource делегат операций представления в представление коллекции ItemsSource. Поэтому ItemCollection поддерживает сортировку, фильтрацию и группировку только в том случае, если делегированное представление поддерживает их.

В следующем примере показано, как сортировать содержимое именованного ListBoxmyListBox. В этом примере имя свойства для Content сортировки по.

myListBox.Items.SortDescriptions.Add(
    new SortDescription("Content", ListSortDirection.Descending));
myListBox.Items.SortDescriptions.Add(New SortDescription("Content", ListSortDirection.Descending))

При этом представление может быть или не является представлением по умолчанию в зависимости от того, как данные настроены на вашей платформе ItemsControl. Например, если ItemsSource свойство привязано к объекту CollectionViewSource, представление, которое вы получаете с помощью Items свойства, не является представлением по умолчанию.

ItemsControl Если вы привязаны (используете ItemsSource свойство), вы можете выполнить следующие действия, чтобы получить представление по умолчанию:

CollectionView myView;
Private myView As CollectionView
myView = (CollectionView)CollectionViewSource.GetDefaultView(myItemsControl.ItemsSource);
myView = CType(CollectionViewSource.GetDefaultView(myItemsControl.ItemsSource), CollectionView)

Кроме того, можно указать критерии фильтрации, сортировки и группировки в XAML.CollectionViewSource

Комментарии

ItemCollection поддерживает коллекцию таких элементов, как строки, объекты, узлы XML, элементы и другие коллекции. Объект ItemsControl использует данные в объекте для создания содержимого ItemCollection . Если вы хотите агрегировать несколько коллекций, назначьте CompositeCollection свойству ItemsSource объекта ItemsControl.

Items Используйте свойство или ItemsSource свойство, чтобы указать коллекцию, которая должна использоваться для создания содержимого.ItemsControl ItemsSource Если свойство задано, Items коллекция будет создана только для чтения и фиксированного размера. Это означает, что при использовании ItemsSource свойства нельзя добавлять, удалять или изменять элементы непосредственно.ItemCollection

ItemCollection — это функция CollectionView представления коллекции, например сортировка, группирование и фильтрация. Дополнительные сведения см. в статьях SortDescriptions, Filter и GroupDescriptions.

Дополнительные сведения о представлениях коллекции см. в обзоре привязки данных.

Свойства

Имя Описание
AllowsCrossThreadChanges

Возвращает значение, указывающее, может ли поток, отличный от созданного CollectionView , изменить SourceCollection.

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

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

CanChangeLiveGrouping

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

CanChangeLiveSorting

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

CanFilter

Возвращает значение, указывающее, поддерживает ли это представление коллекции фильтрацию.

CanGroup

Возвращает значение, указывающее, поддерживает ли это представление коллекции группирование.

CanSort

Возвращает значение, указывающее, поддерживает ли это представление коллекции сортировку.

Comparer

Возвращает объект, который можно использовать для сравнения элементов в представлении.

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

Возвращает количество записей в коллекции.

Culture

Возвращает или задает сведения о языке и региональных параметрах для использования во время сортировки.

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

Возвращает текущий элемент в представлении.

CurrentPosition

Возвращает порядковое положение текущего элемента в представлении.

Dispatcher

Dispatcher Возвращает это DispatcherObject значение, с которым связано.

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

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

GroupDescriptions

Возвращает коллекцию объектов, определяющих GroupDescription группирование элементов.

Groups

Возвращает группы верхнего уровня, созданные в соответствии с параметром GroupDescriptions.

IsCurrentAfterLast

Возвращает значение, указывающее, выходит ли текущий элемент представления за пределы коллекции.

IsCurrentBeforeFirst

Возвращает значение, указывающее, выходит ли текущий элемент представления за пределы начала коллекции.

IsCurrentInSync

Возвращает значение, указывающее, находится ли объект CurrentItem в объекте CurrentPosition.

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

Возвращает значение, указывающее, предоставляет ли базовая коллекция уведомления об изменениях.

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

Возвращает значение, указывающее, является ли итоговое (отфильтрованное) представление пустым.

IsInUse

Возвращает значение, указывающее, является ли любой объект подписывающимся на события этого CollectionViewобъекта.

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

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

IsLiveGrouping

Возвращает или задает значение, указывающее, включена ли группирование данных в режиме реального времени.

IsLiveSorting

Возвращает или задает значение, указывающее, включена ли сортировка в режиме реального времени.

IsRefreshDeferred

Возвращает значение, указывающее, существует ли выдающееся DeferRefresh() значение.

(Унаследовано от CollectionView)
Item[Int32]

Возвращает или задает элемент в заданном отсчитываемом от нуля индексе.

LiveFilteringProperties

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

LiveGroupingProperties

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

LiveSortingProperties

Возвращает коллекцию строк, которые указывают свойства, участвующие в сортировке данных в режиме реального времени.

NeedsRefresh

Возвращает значение, указывающее, требуется ли обновить коллекцию.

SortDescriptions

Возвращает коллекцию SortDescription объектов, описывающих сортировку элементов в коллекции в представлении.

SourceCollection

Возвращает неортированную и нефильтрованную коллекцию, которая лежит в этом представлении коллекции.

UpdatedOutsideDispatcher

Возвращает значение, указывающее, требуется ли обновить журнал изменений, так как CollectionChanged уведомление получено в другом потоке без первого ввода диспетчера потоков пользовательского интерфейса ( пользовательского интерфейса).

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

Методы

Имя Описание
Add(Object)

Добавляет элемент в ItemCollectionэлемент .

CheckAccess()

Определяет, имеет ли вызывающий поток доступ к этому DispatcherObject.

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

Очищает коллекцию и освобождает ссылки на все элементы, которые в настоящее время находятся в коллекции.

ClearChangeLog()
Устаревшие..

Очищает все ожидающие изменения из журнала изменений.

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

Очищает необработанные изменения в коллекции.

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

Возвращает значение, указывающее, находится ли указанный элемент в этом представлении.

CopyTo(Array, Int32)

Копирует элементы коллекции в массив, начиная с определенного индекса массива.

DeferRefresh()

Вводит цикл отложения, который можно использовать для слияния изменений в представлении и задержке автоматического обновления.

DetachFromSourceCollection()

Удаляет ссылку на базовую коллекцию из .CollectionView

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

Определяет, равен ли указанный объект текущему объекту.

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

Возвращает объект, который можно использовать для перечисления элементов в представлении.

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

Служит хэш-функцией по умолчанию.

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

Возвращает элемент в указанном отсчитываемом от нуля индексе в этом представлении.

GetType()

Возвращает Type текущего экземпляра.

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

Возвращает индекс в этой коллекции, где находится указанный элемент.

Insert(Int32, Object)

Вставляет элемент в коллекцию по указанному индексу.

MemberwiseClone()

Создает неглубокую копию текущей Object.

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

Задает указанный элемент в коллекции в качестве CurrentItemэлемента.

MoveCurrentToFirst()

Задает первый элемент в представлении CurrentItemв качестве элемента .

MoveCurrentToLast()

Задает последний элемент в представлении CurrentItemв качестве элемента .

MoveCurrentToNext()

Задает элемент после CurrentItem представления в качестве CurrentItemэлемента.

MoveCurrentToPosition(Int32)

Задает элемент по указанному индексу CurrentItem в представлении.

MoveCurrentToPrevious()

Задает элемент перед CurrentItem представлением в качестве CurrentItemэлемента.

OKToChangeCurrent()

Возвращает значение, указывающее, может ли представление изменить элемент.CurrentItem

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

Происходит при AllowsCrossThreadChanges изменении свойства.

(Унаследовано от CollectionView)
OnBeginChangeLogging(NotifyCollectionChangedEventArgs)
Устаревшие..

Вызывается базовым классом, чтобы уведомить производный класс о том, что CollectionChanged событие было отправлено в очередь сообщений.

(Унаследовано от CollectionView)
OnCollectionChanged(NotifyCollectionChangedEventArgs)

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

(Унаследовано от CollectionView)
OnCollectionChanged(Object, NotifyCollectionChangedEventArgs)

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

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

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

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

CurrentChanging Вызывает событие, которое не может быть отменено.

(Унаследовано от CollectionView)
OnCurrentChanging(CurrentChangingEventArgs)

CurrentChanging Вызывает событие с указанными аргументами.

(Унаследовано от CollectionView)
OnPropertyChanged(PropertyChangedEventArgs)

PropertyChanged Вызывает событие с помощью указанных аргументов.

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

Возвращает значение, указывающее, принадлежит ли указанный элемент этому представлению.

ProcessCollectionChanged(NotifyCollectionChangedEventArgs)

При переопределении в производном классе обрабатывает одно изменение в потоке пользовательского интерфейса.

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

Гарантирует, что все ожидающие изменения в коллекции зафиксированы.

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

Повторно создает представление.

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

Обновляет представление или указывает, что представление должно обновляться при завершении цикла отложения.

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

Повторно создает представление.

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

Удаляет указанную ссылку на элемент из коллекции или представления.

RemoveAt(Int32)

Удаляет элемент по указанному индексу коллекции или представления.

SetCurrent(Object, Int32, Int32)

Задает указанный элемент и индекс в качестве значений CurrentItem и CurrentPosition свойств. Этот метод можно вызвать из конструктора производного класса.

(Унаследовано от CollectionView)
SetCurrent(Object, Int32)

Задает указанный элемент и индекс в качестве значений CurrentItem и CurrentPosition свойств.

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

Возвращает строку, представляющую текущий объект.

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

Принудительно применяет, что вызывающий поток имеет доступ к этому DispatcherObject.

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

События

Имя Описание
CollectionChanged

Происходит при изменении представления.

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

Происходит после CurrentItem изменения.

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

Происходит при CurrentItem изменении.

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

Происходит при изменении значения свойства.

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

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

Имя Описание
ICollection.IsSynchronized

Этот член поддерживает инфраструктуру Windows Presentation Foundation (WPF) и не предназначен для использования непосредственно из кода.

ICollection.SyncRoot

Этот член поддерживает инфраструктуру Windows Presentation Foundation (WPF) и не предназначен для использования непосредственно из кода.

IEditableCollectionView.AddNew()

Добавляет новый элемент в коллекцию.

IEditableCollectionView.CanAddNew

Возвращает значение, указывающее, можно ли добавить новый элемент в коллекцию.

IEditableCollectionView.CanCancelEdit

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

IEditableCollectionView.CancelEdit()

Завершает транзакцию редактирования и, если это возможно, восстанавливает исходное значение элемента.

IEditableCollectionView.CancelNew()

Завершает транзакцию добавления и удаляет ожидающий новый элемент.

IEditableCollectionView.CanRemove

Возвращает значение, указывающее, можно ли удалить элемент из коллекции.

IEditableCollectionView.CommitEdit()

Завершает транзакцию редактирования и сохраняет ожидающие изменения.

IEditableCollectionView.CommitNew()

Завершает операцию добавления и сохраняет ожидающий новый элемент.

IEditableCollectionView.CurrentAddItem

Возвращает элемент, добавляемый во время текущей транзакции добавления.

IEditableCollectionView.CurrentEditItem

Возвращает элемент в коллекции, которая редактируется.

IEditableCollectionView.EditItem(Object)

Начинает транзакцию редактирования указанного элемента.

IEditableCollectionView.IsAddingNew

Возвращает значение, указывающее, выполняется ли транзакция добавления.

IEditableCollectionView.IsEditingItem

Возвращает значение, указывающее, выполняется ли транзакция редактирования.

IEditableCollectionView.NewItemPlaceholderPosition

Возвращает или задает позицию заполнителя нового элемента в представлении коллекции.

IEditableCollectionView.Remove(Object)

Удаляет указанный элемент из коллекции.

IEditableCollectionView.RemoveAt(Int32)

Удаляет элемент в указанной позиции из коллекции.

IEditableCollectionViewAddNewItem.AddNewItem(Object)

Добавляет указанный объект в коллекцию.

IEditableCollectionViewAddNewItem.CanAddNewItem

Возвращает значение, указывающее, можно ли добавить указанный объект в коллекцию.

IEnumerable.GetEnumerator()

IEnumerator Возвращает объект, который можно использовать для перечисления элементов в представлении.

(Унаследовано от CollectionView)
IItemProperties.ItemProperties

Возвращает коллекцию, содержащую сведения о свойствах, доступных для элементов в коллекции.

IList.IsFixedSize

Этот член поддерживает инфраструктуру Windows Presentation Foundation (WPF) и не предназначен для использования непосредственно из кода.

IList.IsReadOnly

Этот член поддерживает инфраструктуру Windows Presentation Foundation (WPF) и не предназначен для использования непосредственно из кода.

INotifyCollectionChanged.CollectionChanged

Происходит при изменении представления.

(Унаследовано от CollectionView)
INotifyPropertyChanged.PropertyChanged

Происходит при изменении значения свойства.

(Унаследовано от CollectionView)
IWeakEventListener.ReceiveWeakEvent(Type, Object, EventArgs)

Получает события из централизованного диспетчера событий.

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

Имя Описание
AsParallel(IEnumerable)

Включает параллелизацию запроса.

AsQueryable(IEnumerable)

Преобразует IEnumerable в IQueryable.

Cast<TResult>(IEnumerable)

Приведение элементов IEnumerable к указанному типу.

OfType<TResult>(IEnumerable)

Фильтрует элементы IEnumerable на основе указанного типа.

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

См. также раздел