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 на основе указанного типа. |