Compartilhar via


CollectionView Classe

Definição

Representa uma exibição para agrupar, classificar, filtrar e navegar em uma coleção de dados.

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

Comentários

Você não deve criar objetos dessa classe em seu código. Para criar uma exibição de coleção para uma coleção que implementa IEnumerableapenas, crie um CollectionViewSource objeto, adicione sua coleção à Source propriedade e obtenha o modo de exibição de coleção da View propriedade.

Você pode pensar em 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 precisar manipular a própria coleção de origem subjacente. Se a coleção de origem implementar a INotifyCollectionChanged interface, as alterações que geram o CollectionChanged evento serão propagadas para os modos de exibição.

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. Usando exibições, você pode exibir os mesmos dados de maneiras diferentes. Por exemplo, você pode usar duas exibições em uma coleção de Task objetos para mostrar tarefas classificadas por prioridade em uma parte da página e agrupadas por área em outra parte da página.

Em aplicativos WPF, todas as coleções têm uma exibição de coleção padrão associada. 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. Para obter a exibição padrão, use o CollectionViewSource.GetDefaultView método. Uma classe interna baseada é CollectionView a exibição padrão para coleções que implementam apenas IEnumerable. ListCollectionView é o modo de exibição padrão para coleções que implementam IList. BindingListCollectionView é o modo de exibição padrão para coleções que implementam IBindingListView ou IBindingList.

Como alternativa, você pode criar uma exibição de sua coleção em XAML (Extensible Application Markup Language) usando a CollectionViewSource classe e associar seu controle a esse modo de exibição. A CollectionViewSource classe é a representação XAML da CollectionView classe. Para obter um exemplo, consulte Como classificar e agrupar dados usando uma exibição em XAML.

Para obter mais informações, consulte "Vinculação a coleções" na Visão Geral da Vinculação de Dados.

Para definir um modo de exibição em XAML, use a CollectionViewSource classe. CollectionViewSource é a representação XAML da CollectionView classe e expõe os membros mais usados da CollectionView classe.

Construtores

Nome Description
CollectionView(IEnumerable)

Inicializa uma nova instância da CollectionView classe que representa uma exibição da coleção especificada.

Propriedades

Nome Description
AllowsCrossThreadChanges

Obtém um valor que indica se um thread diferente daquele que criou o CollectionView pode alterar o SourceCollection.

CanFilter

Obtém um valor que indica se a exibição dá suporte à filtragem.

CanGroup

Obtém um valor que indica se a exibição dá suporte ao agrupamento.

CanSort

Obtém um valor que indica se a exibição dá suporte à classificação.

Comparer

Retorna um objeto que você pode usar para comparar itens no modo de exibição.

Count

Obtém o número de registros na exibição.

Culture

Obtém ou define as informações de cultura a serem usadas durante a classificação.

CurrentItem

Obtém o item atual no modo de exibição.

CurrentPosition

Obtém a posição ordinal da CurrentItem exibição (opcionalmente classificada e filtrada).

Dispatcher

Obtém o Dispatcher que DispatcherObject está associado.

(Herdado de DispatcherObject)
Filter

Obtém ou define um método usado para determinar se um item é adequado para inclusão na exibição.

GroupDescriptions

Obtém uma coleção de GroupDescription objetos que descreve como os itens da coleção são agrupados na exibição.

Groups

Obtém uma coleção dos grupos de nível superior que é construído com base na GroupDescriptions propriedade.

IsCurrentAfterLast

Obtém um valor que indica se a CurrentItem exibição está além do final da coleção.

IsCurrentBeforeFirst

Obtém um valor que indica se a CurrentItem exibição está antes do início da coleção.

IsCurrentInSync

Obtém um valor que indica se o CurrentItem está no CurrentPosition.

IsDynamic

Obtém um valor que indica se a coleção subjacente fornece notificações de alteração.

IsEmpty

Obtém um valor que indica se a exibição resultante (filtrada) está vazia.

IsInUse

Obtém um valor que indica se algum objeto está assinando os eventos deste CollectionView.

IsRefreshDeferred

Obtém um valor que indica se há um pendente DeferRefresh() em uso.

NeedsRefresh

Obtém um valor que indica se a exibição precisa ser atualizada.

NewItemPlaceholder

Obtém o objeto que está na coleção para representar um novo item.

SortDescriptions

Obtém uma coleção de SortDescription estruturas que descreve como os itens da coleção são classificados na exibição.

SourceCollection

Retorna a coleção não filtrada subjacente.

UpdatedOutsideDispatcher

Obtém um valor que indica se foi necessário atualizar o log de alterações porque uma CollectionChanged notificação foi recebida em um thread diferente sem inserir primeiro o dispatcher de thread da interface do usuário (interface do usuário).

Métodos

Nome Description
CheckAccess()

Determina se o thread de chamada tem acesso a isso DispatcherObject.

(Herdado de DispatcherObject)
ClearChangeLog()
Obsoleto.

Limpa as alterações pendentes do log de alterações.

ClearPendingChanges()

Limpa os não processados alterados para a coleção.

Contains(Object)

Retorna um valor que indica se o item especificado pertence à exibição.

DeferRefresh()

Insere um ciclo de adiamento que você pode usar para mesclar alterações na exibição e atrasar a atualização automática.

DetachFromSourceCollection()

Remove a referência à coleção subjacente da CollectionView.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetEnumerator()

Retorna um objeto que você pode usar para enumerar os itens na exibição.

GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetItemAt(Int32)

Recupera o item no índice de base zero especificado na exibição.

GetType()

Obtém o Type da instância atual.

(Herdado de Object)
IndexOf(Object)

Retorna o índice no qual o item especificado está localizado.

MemberwiseClone()

Cria uma cópia superficial do Objectatual.

(Herdado de Object)
MoveCurrentTo(Object)

Define o item especificado como o CurrentItem modo de exibição.

MoveCurrentToFirst()

Define o primeiro item no modo de exibição como o CurrentItem.

MoveCurrentToLast()

Define o último item no modo de exibição como .CurrentItem

MoveCurrentToNext()

Define o item após o CurrentItem modo de exibição como .CurrentItem

MoveCurrentToPosition(Int32)

Define o item no índice especificado como o CurrentItem da exibição.

MoveCurrentToPrevious()

Define o item antes do CurrentItem modo de exibição como .CurrentItem

OKToChangeCurrent()

Retorna um valor que indica se a exibição pode alterar qual item é o CurrentItem.

OnAllowsCrossThreadChangesChanged()

Ocorre quando a AllowsCrossThreadChanges propriedade é alterada.

OnBeginChangeLogging(NotifyCollectionChangedEventArgs)
Obsoleto.

Chamado pela classe base para notificar a classe derivada de que um CollectionChanged evento foi postado na fila de mensagens.

OnCollectionChanged(NotifyCollectionChangedEventArgs)

Aciona o evento CollectionChanged.

OnCollectionChanged(Object, NotifyCollectionChangedEventArgs)

Aciona o evento CollectionChanged.

OnCurrentChanged()

Aciona o evento CurrentChanged.

OnCurrentChanging()

Gera um CurrentChanging evento que não é cancelável.

OnCurrentChanging(CurrentChangingEventArgs)

Gera o CurrentChanging evento com os argumentos especificados.

OnPropertyChanged(PropertyChangedEventArgs)

Gera o PropertyChanged evento usando os argumentos especificados.

PassesFilter(Object)

Retorna um valor que indica se o item especificado na coleção subjacente pertence à exibição.

ProcessCollectionChanged(NotifyCollectionChangedEventArgs)

Quando substituído em uma classe derivada, processa uma única alteração no thread da interface do usuário.

ProcessPendingChanges()

Garante que todas as alterações pendentes na coleção tenham sido confirmadas.

Refresh()

Recria o modo de exibição.

RefreshOrDefer()

Atualiza a exibição ou especifica que a exibição precisa ser atualizada quando o ciclo de adiamento for concluído.

RefreshOverride()

Recria o modo de exibição.

SetCurrent(Object, Int32, Int32)

Define o item e o índice especificados como os valores do e CurrentPosition das CurrentItem propriedades. Esse método pode ser chamado de um construtor de uma classe derivada.

SetCurrent(Object, Int32)

Define o item e o índice especificados como os valores do e CurrentPosition das CurrentItem propriedades.

ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)
VerifyAccess()

Impõe que o thread de chamada tenha acesso a isso DispatcherObject.

(Herdado de DispatcherObject)

Eventos

Nome Description
CollectionChanged

Ocorre quando o modo de exibição foi alterado.

CurrentChanged

Ocorre após a CurrentItem alteração.

CurrentChanging

Ocorre quando a alteração CurrentItem é feita.

PropertyChanged

Ocorre quando um valor de propriedade é alterado.

Implantações explícitas de interface

Nome Description
IEnumerable.GetEnumerator()

Retorna um IEnumerator objeto que você pode usar para enumerar os itens na exibição.

INotifyCollectionChanged.CollectionChanged

Ocorre quando o modo de exibição foi alterado.

INotifyPropertyChanged.PropertyChanged

Ocorre quando um valor de propriedade é alterado.

Métodos de Extensão

Nome Description
AsParallel(IEnumerable)

Habilita a paralelização de uma consulta.

AsQueryable(IEnumerable)

Converte um IEnumerable em um IQueryable.

Cast<TResult>(IEnumerable)

Converte os elementos de um IEnumerable para o tipo especificado.

OfType<TResult>(IEnumerable)

Filtra os elementos de um IEnumerable com base em um tipo especificado.

Aplica-se a