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


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)

Установка заданного элемента и индекса в качестве значений свойств CurrentItem и CurrentPosition.

(Унаследовано от CollectionView)
SetCurrent(Object, Int32, 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)

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

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

Cast<TResult>(IEnumerable)

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

OfType<TResult>(IEnumerable)

Выполняет фильтрацию элементов объекта IEnumerable по заданному типу.

AsParallel(IEnumerable)

Позволяет осуществлять параллельный запрос.

AsQueryable(IEnumerable)

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

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

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