ItemCollection Clase

Definición

Contiene la lista de elementos que constituyen el contenido de una clase 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
Herencia
Atributos
Implementaciones

Ejemplos

Si tiene , ItemsControlcomo un ListBox objeto que tiene contenido, puede usar la Items propiedad para tener acceso ItemCollectiona , que es una vista. Dado que es una vista, puede usar las funcionalidades relacionadas con la vista, como la ordenación, el filtrado y la agrupación. Tenga en cuenta que, cuando se establece ItemsSource, las operaciones de vista delegan en la vista sobre la colección ItemsSource. Por lo tanto, ItemCollection admite la ordenación, el filtrado y la agrupación solo si la vista delegada las admite.

En el ejemplo siguiente se muestra cómo ordenar el contenido de un ListBox objeto denominado myListBox. En este ejemplo, Content es el nombre de la propiedad por la que se va a ordenar.

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

Al hacerlo, la vista podría ser o no la predeterminada, en función de cómo se configuran los datos en ItemsControl. Por ejemplo, cuando la ItemsSource propiedad está enlazada a , CollectionViewSourcela vista que se obtiene con la Items propiedad no es la vista predeterminada.

ItemsControl Si está enlazado (está usando la ItemsSource propiedad ), puede hacer lo siguiente para obtener la vista predeterminada:

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

Como alternativa, puedes especificar criterios de filtrado, ordenación y agrupación en XAML mediante CollectionViewSource.

Comentarios

ItemCollection mantiene una colección de elementos como cadenas, objetos, nodos XML, elementos y otras colecciones. utiliza ItemsControl los datos de ItemCollection para generar su contenido. Si desea agregar más de una colección, asigne un CompositeCollection a la ItemsSource propiedad de .ItemsControl

Use la Items propiedad o la ItemsSource propiedad para especificar la colección que se debe usar para generar el contenido de .ItemsControl Cuando se establece la ItemsSource propiedad , la Items colección se hará de solo lectura y de tamaño fijo. Esto significa que si usa la ItemsSource propiedad , no puede agregar, eliminar ni cambiar elementos directamente.ItemCollection

ItemCollection es y CollectionView , por tanto, proporciona funcionalidades de vista de colección, como la ordenación, la agrupación y el filtrado. Para obtener más información, vea SortDescriptions, Filter y GroupDescriptions.

Para obtener más información sobre las vistas de recopilación, consulte Información general sobre el enlace de datos.

Propiedades

AllowsCrossThreadChanges

Obtiene un valor que indica si un subproceso distinto del que creó CollectionView puede cambiar el objeto SourceCollection.

(Heredado de CollectionView)
CanChangeLiveFiltering

Obtiene un valor que indica si la vista de colección admite la activación o desactivación del filtrado de datos en tiempo real.

CanChangeLiveGrouping

Obtiene un valor que indica si la vista de colección admite activar o desactivar la agrupación de datos en tiempo real.

CanChangeLiveSorting

Obtiene un valor que indica si la vista de colección admite activar o desactivar la ordenación de datos en tiempo real.

CanFilter

Obtiene un valor que indica si esta vista de la recolección admite el filtrado.

CanGroup

Obtiene un valor que indica si esta vista de la recolección admite la agrupación.

CanSort

Obtiene un valor que indica si esta vista de la recolección admite la ordenación.

Comparer

Devuelve un objeto que puede usar para comparar los elementos de la vista.

(Heredado de CollectionView)
Count

Obtiene el número de registros de la recolección.

Culture

Obtiene o establece la información de referencia cultural que se va a usar durante la ordenación.

(Heredado de CollectionView)
CurrentItem

Obtiene el elemento actual de la vista.

CurrentPosition

Obtiene la posición ordinal del elemento actual dentro de la vista.

Dispatcher

Obtiene el objeto Dispatcher al que está asociado DispatcherObject.

(Heredado de DispatcherObject)
Filter

Obtiene o establece una devolución de llamada que se usa para determinar si un elemento es adecuado para su inclusión en la vista.

GroupDescriptions

Obtiene una recolección de objetos GroupDescription que define cómo agrupar los elementos.

Groups

Obtiene los grupos de nivel superior que se construyen según GroupDescriptions.

IsCurrentAfterLast

Obtiene un valor que indica si el elemento actual de la vista está más allá del final de la recolección.

IsCurrentBeforeFirst

Obtiene un valor que indica si el elemento actual de la vista está más allá del inicio de la recolección.

IsCurrentInSync

Obtiene un valor que indica si la propiedad CurrentItem está en la propiedad CurrentPosition.

(Heredado de CollectionView)
IsDynamic

Obtiene un valor que indica si la colección subyacente proporciona notificaciones de cambios.

(Heredado de CollectionView)
IsEmpty

Obtiene un valor que indica si la vista resultante (filtrada) está vacía.

IsInUse

Obtiene un valor que indica si algún objeto está suscribiendo a los eventos de este objeto CollectionView.

(Heredado de CollectionView)
IsLiveFiltering

Obtiene o establece un valor que indica si está habilitado el filtrado de datos en tiempo real.

IsLiveGrouping

Obtiene o establece un valor que indica si está habilitado la agrupación de datos en tiempo real.

IsLiveSorting

Obtiene o establece un valor que indica si está habilitado la ordenación en tiempo real.

IsRefreshDeferred

Obtiene un valor que indica si hay un método DeferRefresh() pendiente en uso.

(Heredado de CollectionView)
Item[Int32]

Obtiene o establece el elemento en el índice de base cero determinado.

LiveFilteringProperties

Obtiene una colección de cadenas que especifican las propiedades que participan en el filtrado de datos en tiempo real.

LiveGroupingProperties

Obtiene una colección de cadenas que especifican las propiedades que participan en la agrupación de datos en tiempo real.

LiveSortingProperties

Obtiene una colección de cadenas que especifican las propiedades que participan en la ordenación de datos en tiempo real.

NeedsRefresh

Obtiene un valor que indica si se debe actualizar la recolección.

SortDescriptions

Obtiene una colección de objetos SortDescription que describen cómo se ordenan los elementos de la colección en la vista.

SourceCollection

Obtiene la recolección sin ordenar y sin filtrar que subyace en esta vista de la recolección.

UpdatedOutsideDispatcher

Obtiene un valor que indica si ha sido necesario actualizar el registro de cambios porque se ha recibido una CollectionChanged notificación en un subproceso diferente sin escribir primero el distribuidor de subprocesos de la interfaz de usuario (UI).

(Heredado de CollectionView)

Métodos

Add(Object)

Agrega un elemento a ItemCollection.

CheckAccess()

Determina si el subproceso de la llamada tiene acceso a DispatcherObject.

(Heredado de DispatcherObject)
Clear()

Borra la recolección y libera las referencias de todos los elementos que están actualmente en la recolección.

ClearChangeLog()
Obsoletos.

Borra los cambios pendientes del registro de cambios.

(Heredado de CollectionView)
ClearPendingChanges()

Borra los cambios sin procesar de la colección.

(Heredado de CollectionView)
Contains(Object)

Devuelve un valor que indica si el elemento especificado está en esta vista.

CopyTo(Array, Int32)

Copia los elementos de la colección en una matriz a partir de un índice de matriz concreto.

DeferRefresh()

Especifica un ciclo de aplazamiento que puede usar para fusionar mediante combinación los cambios en la vista y retrasar la actualización automática.

DetachFromSourceCollection()

Quita la referencia a la colección subyacente del CollectionView.

(Heredado de CollectionView)
Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
GetEnumerator()

Devuelve un objeto que puede usar para enumerar los elementos de la vista.

(Heredado de CollectionView)
GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetItemAt(Int32)

Devuelve el elemento en el índice de base cero especificado de esta vista.

GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
IndexOf(Object)

Devuelve el índice de esta recolección donde se encuentra el elemento especificado.

Insert(Int32, Object)

Inserta un elemento en la colección en el índice especificado.

MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
MoveCurrentTo(Object)

Establece el elemento especificado en la recolección como la propiedad CurrentItem.

MoveCurrentToFirst()

Establece el primer elemento de la vista como CurrentItem.

MoveCurrentToLast()

Establece el último elemento de la vista como CurrentItem.

MoveCurrentToNext()

Establece el elemento situado después de CurrentItem en la vista como CurrentItem.

MoveCurrentToPosition(Int32)

Establece que el elemento en el índice especificado sea la propiedad CurrentItem de la vista.

MoveCurrentToPrevious()

Establece el elemento situado delante de la propiedad CurrentItem de la vista como la propiedad CurrentItem.

OKToChangeCurrent()

Devuelve un valor que indica si la vista puede cambiar el elemento que es la propiedad CurrentItem.

(Heredado de CollectionView)
OnAllowsCrossThreadChangesChanged()

Se produce cuando cambia la propiedad AllowsCrossThreadChanges.

(Heredado de CollectionView)
OnBeginChangeLogging(NotifyCollectionChangedEventArgs)
Obsoletos.

La clase base llama a este método para notificar a la clase derivada que se ha enviado un evento CollectionChanged a la cola de mensajes.

(Heredado de CollectionView)
OnCollectionChanged(NotifyCollectionChangedEventArgs)

Genera el evento CollectionChanged.

(Heredado de CollectionView)
OnCollectionChanged(Object, NotifyCollectionChangedEventArgs)

Genera el evento CollectionChanged.

(Heredado de CollectionView)
OnCurrentChanged()

Genera el evento CurrentChanged.

(Heredado de CollectionView)
OnCurrentChanging()

Provoca un evento CurrentChanging que no se puede cancelar.

(Heredado de CollectionView)
OnCurrentChanging(CurrentChangingEventArgs)

Provoca el evento CurrentChanging con los argumentos especificados.

(Heredado de CollectionView)
OnPropertyChanged(PropertyChangedEventArgs)

Provoca el evento PropertyChanged utilizando los argumentos especificados.

(Heredado de CollectionView)
PassesFilter(Object)

Devuelve un valor que indica si el elemento especificado pertenece a esta vista.

ProcessCollectionChanged(NotifyCollectionChangedEventArgs)

Cuando se reemplaza en una clase derivada, procesa un único cambio en el subproceso de la interfaz de usuario.

(Heredado de CollectionView)
ProcessPendingChanges()

Garantiza que todos los cambios pendientes a la colección se han confirmado.

(Heredado de CollectionView)
Refresh()

Vuelve a crear la vista.

(Heredado de CollectionView)
RefreshOrDefer()

Actualiza la vista o especifica que se debe actualizar cuando termine el ciclo de aplazamiento.

(Heredado de CollectionView)
RefreshOverride()

Vuelve a crear la vista.

(Heredado de CollectionView)
Remove(Object)

Quita la referencia del elemento especificada de la recolección o vista.

RemoveAt(Int32)

Quita el elemento en el índice especificado de la recolección o vista.

SetCurrent(Object, Int32)

Establece el elemento y el índice especificados como valores de las propiedades CurrentItem y CurrentPosition.

(Heredado de CollectionView)
SetCurrent(Object, Int32, Int32)

Establece el elemento y el índice especificados como valores de las propiedades CurrentItem y CurrentPosition. Se puede llamar a este método desde un constructor de una clase derivada.

(Heredado de CollectionView)
ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)
VerifyAccess()

Exige que el subproceso de la llamada tenga acceso a DispatcherObject.

(Heredado de DispatcherObject)

Eventos

CollectionChanged

Se produce cuando la vista ha cambiado.

(Heredado de CollectionView)
CurrentChanged

Se produce después de que haya cambiado la propiedad CurrentItem.

(Heredado de CollectionView)
CurrentChanging

Se produce cuando cambia la propiedad CurrentItem.

(Heredado de CollectionView)
PropertyChanged

Se produce cuando cambia el valor de una propiedad.

(Heredado de CollectionView)

Implementaciones de interfaz explícitas

ICollection.IsSynchronized

Este miembro admite la infraestructura de Windows Presentation Foundation (WPF) y no está pensada para usarse directamente desde el código.

ICollection.SyncRoot

Este miembro admite la infraestructura de Windows Presentation Foundation (WPF) y no está pensada para usarse directamente desde el código.

IEditableCollectionView.AddNew()

Agrega un nuevo elemento a la colección.

IEditableCollectionView.CanAddNew

Obtiene un valor que indica si puede agregarse un elemento nuevo a la colección.

IEditableCollectionView.CanCancelEdit

Obtiene un valor que indica si la vista de colección puede descartar los cambios pendientes y restaurar los valores originales de un objeto editado.

IEditableCollectionView.CancelEdit()

Finaliza la transacción de edición y, si es posible, restaura el valor original del elemento.

IEditableCollectionView.CancelNew()

Finaliza la transacción de adición y descarta el nuevo elemento pendiente.

IEditableCollectionView.CanRemove

Obtiene un valor que indica si un elemento puede quitarse de la colección.

IEditableCollectionView.CommitEdit()

Finaliza la transacción de edición y guarda los cambios pendientes.

IEditableCollectionView.CommitNew()

Finaliza la transacción de adición y guarda el nuevo elemento pendiente.

IEditableCollectionView.CurrentAddItem

Obtiene el elemento que se está agregando durante la transacción de adición actual.

IEditableCollectionView.CurrentEditItem

Obtiene el elemento de la colección que se está editando.

IEditableCollectionView.EditItem(Object)

Inicia una transacción de edición del elemento especificado.

IEditableCollectionView.IsAddingNew

Obtiene un valor que indica si hay una transacción de adición en curso.

IEditableCollectionView.IsEditingItem

Obtiene un valor que indica si hay una transacción de edición en curso.

IEditableCollectionView.NewItemPlaceholderPosition

Obtiene o establece la posición del nuevo marcador de posición de elemento en la vista de colección.

IEditableCollectionView.Remove(Object)

Quita el elemento especificado de la colección.

IEditableCollectionView.RemoveAt(Int32)

Quita de la colección un elemento situado en la posición especificada.

IEditableCollectionViewAddNewItem.AddNewItem(Object)

Agrega a la colección el objeto especificado.

IEditableCollectionViewAddNewItem.CanAddNewItem

Obtiene un valor que indica si el objeto especificado puede agregarse a la colección.

IEnumerable.GetEnumerator()

Devuelve un objeto IEnumerator que puede usar para enumerar los elementos de la vista.

(Heredado de CollectionView)
IItemProperties.ItemProperties

Obtiene una colección que contiene información sobre las propiedades que están disponibles en los elementos de una colección.

IList.IsFixedSize

Este miembro admite la infraestructura de Windows Presentation Foundation (WPF) y no está pensada para usarse directamente desde el código.

IList.IsReadOnly

Este miembro admite la infraestructura de Windows Presentation Foundation (WPF) y no está pensada para usarse directamente desde el código.

INotifyCollectionChanged.CollectionChanged

Se produce cuando la vista ha cambiado.

(Heredado de CollectionView)
INotifyPropertyChanged.PropertyChanged

Tiene lugar cuando cambia un valor de propiedad.

(Heredado de CollectionView)
IWeakEventListener.ReceiveWeakEvent(Type, Object, EventArgs)

Recibe los eventos del administrador de eventos centralizado.

Métodos de extensión

Cast<TResult>(IEnumerable)

Convierte los elementos de IEnumerable en el tipo especificado.

OfType<TResult>(IEnumerable)

Filtra los elementos de IEnumerable en función de un tipo especificado.

AsParallel(IEnumerable)

Habilita la paralelización de una consulta.

AsQueryable(IEnumerable)

Convierte una interfaz IEnumerable en IQueryable.

Se aplica a

Consulte también