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. |