Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original
Este tema aún no ha recibido ninguna valoración - Valorar este tema

ListCollectionView (Clase)

Representa la vista de colección para las colecciones que implementan IList.

Espacio de nombres:  System.Windows.Data
Ensamblado:  PresentationFramework (en PresentationFramework.dll)
public class ListCollectionView : CollectionView, 
	IComparer, IEditableCollectionViewAddNewItem, IEditableCollectionView, ICollectionViewLiveShaping, IItemProperties

El tipo ListCollectionView expone los siguientes miembros.

  NombreDescripción
Método públicoListCollectionViewInicializa una nueva instancia de la clase de ListCollectionView , utilizando una colección proporcionada que implemente IList.
Arriba
  NombreDescripción
Propiedad protegidaActiveComparerObtiene o establece el comparador activo actual que se utiliza en la ordenación.
Propiedad protegidaActiveFilterObtiene o establece la devolución de llamada activo actual de Filter .
Propiedad protegidaAllowsCrossThreadChangesObtiene un valor que indica si un subproceso distinto del que creó CollectionView puede cambiar SourceCollection. (Se hereda de CollectionView).
Propiedad públicaCanAddNewObtiene un valor que indica si un nuevo elemento se puede agregar a la colección.
Propiedad públicaCanAddNewItemObtiene un valor que indica si un objeto especificado se puede agregar a la colección.
Propiedad públicaCanCancelEditObtiene un valor que indica si la vista de colección puede descartar los cambios pendientes y restaurar los valores originales de un objeto editado.
Propiedad públicaCanChangeLiveFilteringObtiene un valor que indica si la vista de colección admite girar el filtrado de datos en tiempo real con o.
Propiedad públicaCanChangeLiveGroupingObtiene un valor que indica si la vista de colección admite girar agrupar los datos en tiempo real con o.
Propiedad públicaCanChangeLiveSortingObtiene un valor que indica si la vista de colección admite girar ordenar datos en tiempo real con o.
Propiedad públicaCanFilterObtiene un valor que indica si la vista admite el filtrado basado en servicios. (Invalida a CollectionView.CanFilter).
Propiedad públicaCanGroupObtiene un valor que indica si la vista de colección ayuda el grupo. (Invalida a CollectionView.CanGroup).
Propiedad públicaCanRemoveObtiene un valor que indica si un elemento se puede quitar de la colección.
Propiedad públicaCanSortObtiene un valor que indica si la vista de colección admite la ordenación. (Invalida a CollectionView.CanSort).
Propiedad públicaComparerDevuelve un objeto que puede utilizar para comparar elementos en la vista. (Se hereda de CollectionView).
Propiedad públicaCountobtiene el número de registros estimado. (Invalida a CollectionView.Count).
Propiedad públicaCultureObtiene o establece la información de referencia cultural para utilizar durante la ordenación. (Se hereda de CollectionView).
Propiedad públicaCurrentAddItemObtiene el elemento que se está agregando durante la ejecución agrega la transacción.
Propiedad públicaCurrentEditItemObtiene el elemento en la colección que se edita.
Propiedad públicaCurrentItemObtiene el elemento actual de la vista. (Se hereda de CollectionView).
Propiedad públicaCurrentPositionObtiene la posición ordinal de CurrentItem dentro (ordenado opcionalmente y filtrado) de la vista. (Se hereda de CollectionView).
Propiedad públicaCustomSortObtiene o establece un objeto personalizado que implemente IComparer para ordenar elementos en la vista.
Propiedad públicaDispatcherObtiene Dispatcher que este DispatcherObject es asociado. (Se hereda de DispatcherObject).
Propiedad públicaFilterObtiene o establece un método que se utiliza para determinar si un elemento es adecuado para la inclusión en la vista. (Invalida a CollectionView.Filter).
Propiedad públicaGroupBySelectorObtiene o establece un delegado para seleccionar GroupDescription en función del grupo primario y de la capa.
Propiedad públicaGroupDescriptionsObtiene una colección de objetos GroupDescription que describen cómo los elementos de la colección se agrupan en la vista. (Invalida a CollectionView.GroupDescriptions).
Propiedad públicaGroupsObtiene los grupos de nivel superior. (Invalida a CollectionView.Groups).
Propiedad protegidaInternalCountObtiene el número de registros de InternalList.
Propiedad protegidaInternalListObtiene la colección subyacente completa y sin filtrar.
Propiedad públicaIsAddingNewObtiene un valor que indica si una transacción add está en curso.
Propiedad públicaIsCurrentAfterLastObtiene un valor que indica si CurrentItem de la vista está más allá del final de la colección. (Se hereda de CollectionView).
Propiedad públicaIsCurrentBeforeFirstObtiene un valor que indica si CurrentItem de la vista es antes del principio de la colección. (Se hereda de CollectionView).
Propiedad protegidaIsCurrentInSyncObtiene un valor que indica si CurrentItem está en CurrentPosition. (Se hereda de CollectionView).
Propiedad públicaIsDataInGroupOrderObtiene o establece un valor que indica si la lista de elementos (después de aplicar la ordenación y los filtros, si hay alguno) ya está en el orden correcto para agrupar.
Propiedad protegidaIsDynamicObtiene un valor que indica si la colección subyacente proporciona notificaciones. (Se hereda de CollectionView).
Propiedad públicaIsEditingItemObtiene un valor que indica si una transacción de edición está en curso.
Propiedad públicaIsEmptyDevuelve un valor que indica si la vista (filtrada) resultante está vacía. (Invalida a CollectionView.IsEmpty).
Propiedad protegidaIsGroupingObtiene un valor que indica si hay grupos en la vista.
Propiedad públicaIsInUseObtiene un valor que indica si algún objeto está suscribiendo a los eventos de este CollectionView. (Se hereda de CollectionView).
Propiedad públicaIsLiveFilteringObtiene o establece un valor que indica si filtrar datos en tiempo real está habilitada.
Propiedad públicaIsLiveGroupingObtiene o establece un valor que indica si agrupar datos en tiempo real está habilitada.
Propiedad públicaIsLiveSortingObtiene o establece un valor que indica si el cambio en tiempo real está habilitado.
Propiedad protegidaIsRefreshDeferredObtiene un valor que indica si hay DeferRefresh excepcional en uso. (Se hereda de CollectionView).
Propiedad públicaItemPropertiesObtiene una colección de objetos que describe las propiedades de los elementos de la colección.
Propiedad públicaLiveFilteringPropertiesObtiene una colección de cadenas que especifican las propiedades que participan en el filtrado de datos en tiempo real.
Propiedad públicaLiveGroupingPropertiesObtiene una colección de cadenas que especifican las propiedades que participan en datos de agrupación en tiempo real.
Propiedad públicaLiveSortingPropertiesObtiene una colección de cadenas que especifican las propiedades que participan en ordenar datos en tiempo real.
Propiedad públicaNeedsRefreshObtiene un valor que indica si la vista necesita actualizarse. (Se hereda de CollectionView).
Propiedad públicaNewItemPlaceholderPositionObtiene o establece la posición del marcador del nuevo elemento en ListCollectionView.
Propiedad públicaSortDescriptionsObtiene una colección de objetos SortDescription que describe cómo los elementos de la colección se ordenan en la vista. (Invalida a CollectionView.SortDescriptions).
Propiedad públicaSourceCollectiondevuelve la colección sin filtrar subyacente. (Se hereda de CollectionView).
Propiedad protegidaUpdatedOutsideDispatcherObtiene un valor que indica si ha sido necesario actualizar el cambio registrar porque una notificación de CollectionChanged se ha recibido en un subproceso diferente sin primero entrar en el distribuidor del subproceso de interfaz de usuario (UI) . (Se hereda de CollectionView).
Propiedad protegidaUsesLocalArrayObtiene un valor que indica si una copia privada de datos es necesaria para ordenar y filtrar.
Arriba
  NombreDescripción
Método públicoAddNewInicia una transacción add y devuelve el nuevo elemento pendiente.
Método públicoAddNewItemagrega el objeto especificado a la colección.
Método públicoCancelEditFinaliza la transacción de edición y, si es posible, se restablece el valor original al elemento.
Método públicoCancelNewFinaliza la transacción add y descarta el nuevo elemento pendiente.
Método públicoCheckAccessdetermina si el subproceso de la llamada tiene acceso a este DispatcherObject. (Se hereda de DispatcherObject).
Método protegidoClearChangeLog Obsoleto. Borra cualquier cambio pendiente de registro del cambio. (Se hereda de CollectionView).
Método protegidoClearPendingChangesBorra sin procesar cambiará a la colección. (Se hereda de CollectionView).
Método públicoCommitEditFinaliza la transacción de edición y guarda los cambios pendientes.
Método públicoCommitNewFinaliza la transacción add y guarda el nuevo elemento pendiente.
Método protegidoCompareCompara dos objetos y devuelve un valor al que indique si uno es menor que, igual, o mayor que el otro.
Método públicoContainsDevuelve un valor que indica si un elemento especificado pertenece a la vista de colección. (Invalida a CollectionView.Contains(Object)).
Método públicoDeferRefreshEscribe un ciclo de aplazar que puede utilizar para combinar los cambios en la vista y para retrasar refresco automático. (Se hereda de CollectionView).
Método públicoDetachFromSourceCollectionquita la referencia a la colección subyacente de CollectionView. (Se hereda de CollectionView).
Método públicoEditItemInicia una transacción de edición del elemento especificado.
Método públicoEquals(Object)Determina si el objeto especificado es igual al objeto actual. (Se hereda de Object).
Método protegidoFinalize Permite que un objeto intente liberar recursos y realizar otras operaciones de limpieza antes de ser reclamado por la recolección de elementos no utilizados. (Se hereda de Object).
Método protegidoGetEnumeratorDevuelve un objeto que puede utilizar para enumerar los elementos de la vista. (Invalida a CollectionView.GetEnumerator()).
Método públicoGetHashCodeActúa como función hash para un tipo concreto. (Se hereda de Object).
Método públicoGetItemAtRecupera el elemento en la posición especificada en la vista. (Invalida a CollectionView.GetItemAt(Int32)).
Método públicoGetTypeObtiene el objeto Type de la instancia actual. (Se hereda de Object).
Método públicoIndexOfDevuelve el índice donde el elemento de datos especificado pertenece a la colección, o -1 si el índice del elemento es desconocido. (Invalida a CollectionView.IndexOf(Object)).
Método protegidoInternalContainsDevuelve un valor que indica si InternalList contiene el elemento.
Método protegidoInternalGetEnumeratorDevuelve un enumerador para InternalList.
Método protegidoInternalIndexOfDevuelve el índice del elemento especificado en InternalList.
Método protegidoInternalItemAtDevuelve el elemento en el índice especificado de InternalList.
Método protegidoMemberwiseClone Crea una copia superficial del Object actual. (Se hereda de Object).
Método públicoMoveCurrentToEstablece el elemento especificado sea CurrentItem en la vista. (Se hereda de CollectionView).
Método públicoMoveCurrentToFirstEstablece el primer elemento en la vista como CurrentItem. (Se hereda de CollectionView).
Método públicoMoveCurrentToLastEstablece el último elemento de la vista como CurrentItem. (Se hereda de CollectionView).
Método públicoMoveCurrentToNextEstablece el elemento después de CurrentItem en vista como CurrentItem. (Se hereda de CollectionView).
Método públicoMoveCurrentToPositionEstablece el elemento en el índice especificado sea CurrentItem en la vista. (Invalida a CollectionView.MoveCurrentToPosition(Int32)).
Método públicoMoveCurrentToPreviousEstablece el elemento antes de CurrentItem en vista como CurrentItem. (Se hereda de CollectionView).
Método protegidoOKToChangeCurrentDevuelve un valor que indica si la vista puede cambiar qué elemento es CurrentItem. (Se hereda de CollectionView).
Método protegidoOnAllowsCrossThreadChangesChangedSe produce cuando cambia la propiedad de AllowsCrossThreadChanges . (Invalida a CollectionView.OnAllowsCrossThreadChangesChanged()).
Método protegidoOnBeginChangeLogging Obsoleto. Lo llama la clase base para notificar a la clase derivada que un evento de CollectionChanged se ha enviado a la cola de mensajes. (Invalida a CollectionView.OnBeginChangeLogging(NotifyCollectionChangedEventArgs)).
Método protegidoOnCollectionChanged(NotifyCollectionChangedEventArgs)Provoca el evento de CollectionChanged . (Se hereda de CollectionView).
Método protegidoOnCollectionChanged(Object, NotifyCollectionChangedEventArgs)Provoca el evento de CollectionChanged . (Se hereda de CollectionView).
Método protegidoOnCurrentChangedProvoca el evento de CurrentChanged . (Se hereda de CollectionView).
Método protegidoOnCurrentChanging()Genera un evento de CurrentChanging que no se puede. (Se hereda de CollectionView).
Método protegidoOnCurrentChanging(CurrentChangingEventArgs)Provoca el evento de CurrentChanging con argumentos especificados. (Se hereda de CollectionView).
Método protegidoOnPropertyChangedProvoca el evento de PropertyChanged utilizando los argumentos especificados. (Se hereda de CollectionView).
Método públicoPassesFilterDevuelve un valor que indica si el elemento especificado de la colección subyacente pertenece a la vista. (Invalida a CollectionView.PassesFilter(Object)).
Método protegidoProcessCollectionChangedAdministra los eventos de CollectionChanged . (Invalida a CollectionView.ProcessCollectionChanged(NotifyCollectionChangedEventArgs)).
Método protegidoProcessPendingChangesGarantiza que todos los cambios pendientes a la colección hayan concedido confianza. (Se hereda de CollectionView).
Método públicoRefreshVuelve a crear la vista. (Se hereda de CollectionView).
Método protegidoRefreshOrDeferActualiza la vista o la especifica que la vista debe actualizarse cuando el ciclo de aplazar completa. (Se hereda de CollectionView).
Método protegidoRefreshOverrideVuelve a crear la vista. (Invalida a CollectionView.RefreshOverride()).
Método públicoRemovequita el elemento especificado de la colección.
Método públicoRemoveAtquita el elemento en la posición especificada de la colección.
Método protegidoSetCurrent(Object, Int32)establece el elemento especificado y el índice como los valores de las propiedades de CurrentItem y de CurrentPosition . (Se hereda de CollectionView).
Método protegidoSetCurrent(Object, Int32, Int32)establece el elemento especificado y el índice como los valores de las propiedades de CurrentItem y de CurrentPosition . Este método se puede llamar a un constructor de una clase derivada. (Se hereda de CollectionView).
Método públicoToStringDevuelve una cadena que representa el objeto actual. (Se hereda de Object).
Método públicoVerifyAccessSe aplica al subproceso de llamada tiene acceso a este DispatcherObject. (Se hereda de DispatcherObject).
Arriba
  NombreDescripción
Evento protegidoCollectionChangedAparece cuando la vista ha cambiado. (Se hereda de CollectionView).
Evento públicoCurrentChangedSe produce después de que CurrentItem ha cambiado. (Se hereda de CollectionView).
Evento públicoCurrentChangingSe produce cuando CurrentItem está cambiando. (Se hereda de CollectionView).
Evento protegidoPropertyChangedSe produce cuando un valor de propiedad ha cambiado. (Se hereda de CollectionView).
Arriba
  NombreDescripción
Implementación explícita de interfacesMétodo privadoIComparer.CompareEste miembro es compatible con la infraestructura de Windows Presentation Foundation (WPF) y no está diseñado para usarse directamente desde el código.
Implementación explícita de interfacesMétodo privadoIEnumerable.GetEnumeratorDevuelve un objeto de IEnumerator que puede utilizar para enumerar los elementos de la vista. (Se hereda de CollectionView).
Implementación explícita de interfacesEvento privadoINotifyCollectionChanged.CollectionChangedAparece cuando la vista ha cambiado. (Se hereda de CollectionView).
Implementación explícita de interfacesEvento privadoINotifyPropertyChanged.PropertyChangedSe produce cuando cambia un valor de propiedad. (Se hereda de CollectionView).
Arriba

Cuando se enlaza a una recolección de datos, quizás desee ordenar, filtrar, o agrupar los datos. Para ello, se utilizan las vistas de colección. Puede pensar en CollectionView como el nivel superior de la colección de origen de enlace que permite navegar y mostrar la colección de origen en función de ordenación, el filtro, y consultas de grupo, todo sin tener que manipular la colección subyacente en sí de origen. Si la colección de origen implementa la interfaz de INotifyCollectionChanged , los cambios provocados por el evento de CollectionChanged se propagan a las vistas.

todas las colecciones tienen CollectionViewpredeterminado. Para todas las colecciones que implementan IList, el objeto de ListCollectionView es el objeto de vista predeterminado. BindingListCollectionView es la clase de vista de colección utilizada para las colecciones que implementan IBindingList. Para obtener la vista predeterminada, se utiliza el método de GetDefaultView . Para obtener un ejemplo, vea Cómo: Obtener la vista predeterminada de una recolección de datos.

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

En este ejemplo se describe cómo ordenar los datos en una vista.

En el ejemplo siguiente se crean un control ListBox simple y un control Button:


<Window x:Class="ListBoxSort_snip.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="ListBoxSort_snip" Height="300" Width="300">
    <DockPanel>
      <ListBox Name="myListBox" DockPanel.Dock="Top">
        <ListBoxItem>my</ListBoxItem>
        <!--Or you can set the content this way:-->
        <!--<ListBoxItem Content="my"/>-->
        <ListBoxItem>1</ListBoxItem>
        <ListBoxItem>Sort</ListBoxItem>
        <ListBoxItem>3</ListBoxItem>
        <ListBoxItem>ListBox</ListBoxItem>
        <ListBoxItem>2</ListBoxItem>
      </ListBox>
      <Button Click="OnClick" Width="30" Height="20" DockPanel.Dock="Top">Sort</Button>
    </DockPanel>
</Window>


El controlador de eventos Click del botón contiene la lógica necesaria para ordenar los elementos de ListBox en orden descendente. Puede hacerlo porque al agregar elementos a ListBox de esta manera se agregan al objeto ItemCollection de ListBox, y ItemCollection se deriva de la clase CollectionView. Si enlaza ListBox a una colección mediante la propiedad ItemsSource, puede utilizar la misma técnica para ordenar.


private void OnClick(object sender, RoutedEventArgs e)
{
    myListBox.Items.SortDescriptions.Add(
        new SortDescription("Content", ListSortDirection.Descending));
}


Siempre que tenga una referencia al objeto de vista, puede utilizar la misma técnica para ordenar el contenido de otras vistas de colección. Para obtener un ejemplo de cómo obtener una vista, consulte Cómo: Obtener la vista predeterminada de una recolección de datos. Para obtener otro ejemplo, vea Cómo: Ordenar una columna de GridView cuando se hace clic en un encabezado. Para obtener más información sobre vistas, consulte Enlazar a colecciones en Información general sobre el enlace de datos.

Para obtener un ejemplo de cómo aplicar la lógica de ordenación en Lenguaje XAML, consulte Cómo: Ordenar y agrupar datos mediante una vista en XAML.

.NET Framework

Compatible con: 4.5, 4, 3.5, 3.0

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (no se admite el rol Server Core), Windows Server 2008 R2 (se admite el rol Server Core con SP1 o versiones posteriores; no se admite Itanium)

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.
Todos los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.
¿Te ha resultado útil?
(Caracteres restantes: 1500)

Adiciones de comunidad

AGREGAR
© 2013 Microsoft. Reservados todos los derechos.