CollectionView Classe

Definição

Representa uma exibição para agrupamento, classificação, filtragem e navegação em uma coleção de dados.Represents a view for grouping, sorting, filtering, and navigating a data collection.

public ref class CollectionView : System::Windows::Threading::DispatcherObject, System::Collections::IEnumerable, System::Collections::Specialized::INotifyCollectionChanged, System::ComponentModel::ICollectionView, System::ComponentModel::INotifyPropertyChanged
public ref class CollectionView : System::Windows::Threading::DispatcherObject, System::Collections::IEnumerable, System::ComponentModel::ICollectionView, System::ComponentModel::INotifyPropertyChanged
public class CollectionView : System.Windows.Threading.DispatcherObject, System.Collections.IEnumerable, System.Collections.Specialized.INotifyCollectionChanged, System.ComponentModel.ICollectionView, System.ComponentModel.INotifyPropertyChanged
public class CollectionView : System.Windows.Threading.DispatcherObject, System.Collections.IEnumerable, System.ComponentModel.ICollectionView, System.ComponentModel.INotifyPropertyChanged
type CollectionView = class
    inherit DispatcherObject
    interface IEnumerable
    interface INotifyCollectionChanged
    interface ICollectionView
    interface INotifyPropertyChanged
type CollectionView = class
    inherit DispatcherObject
    interface ICollectionView
    interface IEnumerable
    interface INotifyCollectionChanged
    interface INotifyPropertyChanged
Public Class CollectionView
Inherits DispatcherObject
Implements ICollectionView, IEnumerable, INotifyCollectionChanged, INotifyPropertyChanged
Public Class CollectionView
Inherits DispatcherObject
Implements ICollectionView, IEnumerable, INotifyPropertyChanged
Herança
CollectionView
Derivado
Implementações

Comentários

Você não deve criar objetos dessa classe em seu código.You should not create objects of this class in your code. Para criar uma exibição de coleção para uma coleção que só implementa IEnumerable , crie um CollectionViewSource objeto, adicione sua coleção à Source propriedade e obtenha o modo de exibição de coleção da View propriedade.To create a collection view for a collection that only implements IEnumerable, create a CollectionViewSource object, add your collection to the Source property, and get the collection view from the View property.

Você pode considerar uma exibição de coleção como uma camada sobre uma coleção de origem de associação que permite navegar e exibir a coleção com base em consultas de classificação, filtro e grupo, tudo sem a necessidade de manipular a própria coleção de origem subjacente.You can think of a collection view as a layer on top of a binding source collection that allows you to navigate and display the collection based on sort, filter, and group queries, all without having to manipulate the underlying source collection itself. Se a coleção de origem implementar a INotifyCollectionChanged interface, as alterações que geram o CollectionChanged evento serão propagadas para as exibições.If the source collection implements the INotifyCollectionChanged interface, the changes that raise the CollectionChanged event are propagated to the views.

Como uma exibição não altera a coleção de origem subjacente, uma coleção de origem pode ter várias exibições associadas a ela.Because a view does not change the underlying source collection, a source collection can have multiple views associated with it. Usando exibições, você pode exibir os mesmos dados de diferentes maneiras.By using views, you can display the same data in different ways. Por exemplo, você pode usar duas exibições em uma coleção de Task objetos para mostrar as tarefas classificadas por prioridade em uma parte da página e agrupadas por área em outra parte da página.For example, you can use two views on a collection of Task objects to show tasks sorted by priority on one part of the page and grouped by area on another part of the page.

Em WPFWPF aplicativos, todas as coleções têm uma exibição de coleção padrão associada.In WPFWPF applications, all collections have an associated default collection view. Em vez de trabalhar diretamente com a coleção, o mecanismo de associação sempre acessa a coleção por meio da exibição associada.Rather than working with the collection directly, the binding engine always accesses the collection through the associated view. Para obter a exibição padrão, use o CollectionViewSource.GetDefaultView método.To get the default view, use the CollectionViewSource.GetDefaultView method. Uma classe interna baseada em CollectionView é a exibição padrão para coleções que implementam apenas IEnumerable .An internal class based on CollectionView is the default view for collections that implement only IEnumerable. ListCollectionView é a exibição padrão para coleções que implementam IList .ListCollectionView is the default view for collections that implement IList. BindingListCollectionView é a exibição padrão para coleções que implementam IBindingListView ou IBindingList .BindingListCollectionView is the default view for collections that implement IBindingListView or IBindingList.

Como alternativa, você pode criar uma exibição de sua coleção no usando XAML (linguagem XAML)Extensible Application Markup Language (XAML) a CollectionViewSource classe e, em seguida, associar seu controle a essa exibição.Alternatively, you can create a view of your collection in XAML (linguagem XAML)Extensible Application Markup Language (XAML) by using the CollectionViewSource class and then bind your control to that view. A CollectionViewSource classe é a XAMLXAML representação da CollectionView classe.The CollectionViewSource class is the XAMLXAML representation of the CollectionView class. Para obter um exemplo, consulte como classificar e agrupar dados usando uma exibição em XAML.For an example, see How to: Sort and Group Data Using a View in XAML.

Para obter mais informações, consulte "associando a coleções" na visão geral de vinculação de dados.For more information, see "Binding to Collections" in Data Binding Overview.

Para definir um modo de exibição no XAMLXAML , use a CollectionViewSource classe.To set a view in XAMLXAML, use the CollectionViewSource class. CollectionViewSource é a XAMLXAML representação da CollectionView classe e expõe os membros usados com mais frequência da CollectionView classe.CollectionViewSource is the XAMLXAML representation of the CollectionView class, and it exposes the most commonly used members of the CollectionView class.

Construtores

CollectionView(IEnumerable)

Inicializa uma nova instância da classe CollectionView que representa uma exibição da coleção especificada.Initializes a new instance of the CollectionView class that represents a view of the specified collection.

Propriedades

AllowsCrossThreadChanges

Obtém um valor que indica se um thread diferente daquele que criou o CollectionView pode alterar o SourceCollection.Gets a value that indicates whether a thread other than the one that created the CollectionView can change the SourceCollection.

CanFilter

Obtém um valor que indica se a exibição dá suporte a filtragem.Gets a value that indicates whether the view supports filtering.

CanGroup

Obtém um valor que indica se a exibição é compatível com o agrupamento.Gets a value that indicates whether the view supports grouping.

CanSort

Obtém um valor que indica se a exibição dá suporte a classificação.Gets a value that indicates whether the view supports sorting.

Comparer

Retorna um objeto que você pode usar para comparar os itens na exibição.Returns an object that you can use to compare items in the view.

Count

Obtém o número de registros na exibição.Gets the number of records in the view.

Culture

Obtém ou define as informações de cultura a serem usadas durante a classificação.Gets or sets the culture information to use during sorting.

CurrentItem

Obtém o item atual na exibição.Gets the current item in the view.

CurrentPosition

Obtém a posição ordinal do CurrentItem na exibição (opcionalmente classificada e filtrada).Gets the ordinal position of the CurrentItem within the (optionally sorted and filtered) view.

Dispatcher

Obtém o Dispatcher ao qual este DispatcherObject está associado.Gets the Dispatcher this DispatcherObject is associated with.

(Herdado de DispatcherObject)
Filter

Obtém ou define um método usado para determinar se um item é adequado para inclusão no modo de exibição.Gets or sets a method used to determine if an item is suitable for inclusion in the view.

GroupDescriptions

Obtém uma coleção de objetos GroupDescription que descreve como os itens da coleção são agrupados na exibição.Gets a collection of GroupDescription objects that describes how the items in the collection are grouped in the view.

Groups

Obtém uma coleção dos grupos de nível superior que é construída com base na propriedade GroupDescriptions.Gets a collection of the top-level groups that is constructed based on the GroupDescriptions property.

IsCurrentAfterLast

Obtém um valor que indica se o CurrentItem da exibição está além do fim da coleção.Gets a value that indicates whether the CurrentItem of the view is beyond the end of the collection.

IsCurrentBeforeFirst

Obtém um valor que indica se o CurrentItem da exibição está antes do início da coleção.Gets a value that indicates whether the CurrentItem of the view is before the beginning of the collection.

IsCurrentInSync

Obtém um valor que indica se o CurrentItem está no CurrentPosition.Gets a value that indicates whether the CurrentItem is at the CurrentPosition.

IsDynamic

Obtém um valor que indica se a coleção subjacente fornece notificações de alteração.Gets a value that indicates whether the underlying collection provides change notifications.

IsEmpty

Obtém um valor que indica se a exibição resultante (filtrada) está vazia.Gets a value that indicates whether the resulting (filtered) view is empty.

IsInUse

Obtém um valor que indica se qualquer objeto assina os eventos desse CollectionView.Gets a value that indicates whether any object is subscribing to the events of this CollectionView.

IsRefreshDeferred

Obtém um valor que indica se há um DeferRefresh() pendente em uso.Gets a value that indicates whether there is an outstanding DeferRefresh() in use.

NeedsRefresh

Obtém um valor que indica se a exibição precisa ser atualizada.Gets a value that indicates whether the view needs to be refreshed.

NewItemPlaceholder

Obtém o objeto que está na coleção para representar um novo item.Gets the object that is in the collection to represent a new item.

SortDescriptions

Obtém uma coleção de estruturas SortDescription que descreve como os itens na coleção são classificados na exibição.Gets a collection of SortDescription structures that describes how the items in the collection are sorted in the view.

SourceCollection

Retorna a coleção subjacente não filtrada.Returns the underlying unfiltered collection.

UpdatedOutsideDispatcher

Obtém um valor que indica se ele foi necessário para atualizar o log de alterações porque uma notificação de CollectionChanged foi recebida em um thread diferente sem inserir primeiro o dispatcher do thread de UI (interface do usuário)user interface (UI).Gets a value that indicates whether it has been necessary to update the change log because a CollectionChanged notification has been received on a different thread without first entering the UI (interface do usuário)user interface (UI) thread dispatcher.

Métodos

CheckAccess()

Determina se o thread de chamada tem acesso a este DispatcherObject.Determines whether the calling thread has access to this DispatcherObject.

(Herdado de DispatcherObject)
ClearChangeLog()
Obsoleto.

Limpa todas as alterações pendentes do log de alterações.Clears any pending changes from the change log.

ClearPendingChanges()

Limpa alterações à coleção não processadas.Clears unprocessed changed to the collection.

Contains(Object)

Retorna um valor que indica se o item especificado pertence à exibição.Returns a value that indicates whether the specified item belongs to the view.

DeferRefresh()

Insere um ciclo de atraso que pode ser usado para mesclar as alterações na exibição e atrasar a atualização automática.Enters a defer cycle that you can use to merge changes to the view and delay automatic refresh.

DetachFromSourceCollection()

Remove do CollectionView a referência à coleção subjacente.Removes the reference to the underlying collection from the CollectionView.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.Determines whether the specified object is equal to the current object.

(Herdado de Object)
GetEnumerator()

Retorna um objeto que você pode usar para enumerar os itens na exibição.Returns an object that you can use to enumerate the items in the view.

GetHashCode()

Serve como a função de hash padrão.Serves as the default hash function.

(Herdado de Object)
GetItemAt(Int32)

Recupera o item no índice baseado em zero especificado na exibição.Retrieves the item at the specified zero-based index in the view.

GetType()

Obtém o Type da instância atual.Gets the Type of the current instance.

(Herdado de Object)
IndexOf(Object)

Retorna o índice no qual o item especificado está localizado.Returns the index at which the specified item is located.

MemberwiseClone()

Cria uma cópia superficial do Object atual.Creates a shallow copy of the current Object.

(Herdado de Object)
MoveCurrentTo(Object)

Define o item especificado como o CurrentItem na exibição.Sets the specified item to be the CurrentItem in the view.

MoveCurrentToFirst()

Define o primeiro item na exibição como o CurrentItem.Sets the first item in the view as the CurrentItem.

MoveCurrentToLast()

Define o último item na exibição como o CurrentItem.Sets the last item in the view as the CurrentItem.

MoveCurrentToNext()

Define o item após o CurrentItem na exibição como o CurrentItem.Sets the item after the CurrentItem in the view as the CurrentItem.

MoveCurrentToPosition(Int32)

Define o item no índice especificado como sendo o CurrentItem na exibição.Sets the item at the specified index to be the CurrentItem in the view.

MoveCurrentToPrevious()

Define o item antes do CurrentItem na exibição como o CurrentItem.Sets the item before the CurrentItem in the view as the CurrentItem.

OKToChangeCurrent()

Retorna um valor que indica se a exibição pode alterar qual item é o CurrentItem.Returns a value that indicates whether the view can change which item is the CurrentItem.

OnAllowsCrossThreadChangesChanged()

Ocorre quando a propriedade AllowsCrossThreadChanges muda.Occurs when the AllowsCrossThreadChanges property changes.

OnBeginChangeLogging(NotifyCollectionChangedEventArgs)
Obsoleto.

Chamado pela classe base para notificar a classe derivada de que um evento CollectionChanged foi postado na fila de mensagens.Called by the base class to notify the derived class that an CollectionChanged event has been posted to the message queue.

OnCollectionChanged(NotifyCollectionChangedEventArgs)

Aciona o evento CollectionChanged.Raises the CollectionChanged event.

OnCollectionChanged(Object, NotifyCollectionChangedEventArgs)

Aciona o evento CollectionChanged.Raises the CollectionChanged event.

OnCurrentChanged()

Aciona o evento CurrentChanged.Raises the CurrentChanged event.

OnCurrentChanging()

Aciona um CurrentChanging evento que não é cancelável.Raises a CurrentChanging event that is not cancelable.

OnCurrentChanging(CurrentChangingEventArgs)

Aciona o evento CurrentChanging com os argumentos especificados.Raises the CurrentChanging event with the specified arguments.

OnPropertyChanged(PropertyChangedEventArgs)

Aciona o evento PropertyChanged usando os argumentos especificados.Raises the PropertyChanged event using the specified arguments.

PassesFilter(Object)

Retorna um valor que indica se o item especificado na coleção subjacente pertence à exibição.Returns a value that indicates whether the specified item in the underlying collection belongs to the view.

ProcessCollectionChanged(NotifyCollectionChangedEventArgs)

Quando substituído em uma classe derivada, processa uma única alteração no thread de Interface do usuárioUI.When overridden in a derived class, processes a single change on the Interface do usuárioUI thread.

ProcessPendingChanges()

Assegura que todas as alterações pendentes para a coleção foram confirmadas.Ensures that all pending changes to the collection have been committed.

Refresh()

Recria a exibição.Re-creates the view.

RefreshOrDefer()

Atualiza a exibição ou especifica que a exibição precisa ser atualizada quando o ciclo de adiamento é concluído.Refreshes the view or specifies that the view needs to be refreshed when the defer cycle completes.

RefreshOverride()

Recria a exibição.Re-creates the view.

SetCurrent(Object, Int32)

Define o item e o índice especificados como os valores das propriedades CurrentItem e CurrentPosition.Sets the specified item and index as the values of the CurrentItem and CurrentPosition properties.

SetCurrent(Object, Int32, Int32)

Define o item e o índice especificados como os valores das propriedades CurrentItem e CurrentPosition.Sets the specified item and index as the values of the CurrentItem and CurrentPosition properties. Esse método pode ser chamado de um construtor de uma classe derivada.This method can be called from a constructor of a derived class.

ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.Returns a string that represents the current object.

(Herdado de Object)
VerifyAccess()

Impõe que o thread de chamada tenha acesso a este DispatcherObject.Enforces that the calling thread has access to this DispatcherObject.

(Herdado de DispatcherObject)

Eventos

CollectionChanged

Ocorre quando a exibição foi alterada.Occurs when the view has changed.

CurrentChanged

Ocorre depois que o CurrentItem foi alterado.Occurs after the CurrentItem has changed.

CurrentChanging

Ocorre quando o CurrentItem está sendo alterado.Occurs when the CurrentItem is changing.

PropertyChanged

Ocorre quando um valor da propriedade é alterado.Occurs when a property value has changed.

Implantações explícitas de interface

IEnumerable.GetEnumerator()

Retorna um objeto IEnumerator que você pode usar para enumerar os itens na exibição.Returns an IEnumerator object that you can use to enumerate the items in the view.

INotifyCollectionChanged.CollectionChanged

Ocorre quando a exibição foi alterada.Occurs when the view has changed.

INotifyPropertyChanged.PropertyChanged

Ocorre quando um valor de propriedade é alterado.Occurs when a property value changes.

Métodos de Extensão

Cast<TResult>(IEnumerable)

Converte os elementos de um IEnumerable para o tipo especificado.Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable)

Filtra os elementos de um IEnumerable com base em um tipo especificado.Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable)

Habilita a paralelização de uma consulta.Enables parallelization of a query.

AsQueryable(IEnumerable)

Converte um IEnumerable em um IQueryable.Converts an IEnumerable to an IQueryable.

Aplica-se a