Compartilhar via


CollectionView Classe

Definição

Representa uma exibição para agrupamento, classificação, filtragem e navegação 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 a 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 as exibições.

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 em CollectionView é a exibição padrão para coleções que implementam apenas IEnumerable. ListCollectionView é a exibição padrão para coleções que implementam IList. BindingListCollectionView é a 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 essa 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 "Associação a coleções" na Visão geral da associação de dados.

Para definir uma 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

CollectionView(IEnumerable)

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

Propriedades

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

CanGroup

Obtém um valor que indica se a exibição é compatível com o agrupamento.

CanSort

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

Comparer

Retorna um objeto que você pode usar para comparar os itens na 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 na exibição.

CurrentPosition

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

Dispatcher

Obtém o Dispatcher ao qual este DispatcherObject está associado.

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

GroupDescriptions

Obtém uma coleção de objetos GroupDescription 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ída com base na propriedade GroupDescriptions.

IsCurrentAfterLast

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

IsCurrentBeforeFirst

Obtém um valor que indica se o CurrentItem da 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 qualquer objeto assina os eventos desse CollectionView.

IsRefreshDeferred

Obtém um valor que indica se há um DeferRefresh() pendente 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 estruturas SortDescription que descreve como os itens na coleção são classificados na exibição.

SourceCollection

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

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 primeiro inserir o dispatcher de thread da interface do usuário (interface do usuário).

Métodos

CheckAccess()

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

(Herdado de DispatcherObject)
ClearChangeLog()
Obsoleto.

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

ClearPendingChanges()

Limpa alterações à coleção não processadas.

Contains(Object)

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

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.

DetachFromSourceCollection()

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

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 baseado em 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 Object atual.

(Herdado de Object)
MoveCurrentTo(Object)

Define o item especificado como o CurrentItem na exibição.

MoveCurrentToFirst()

Define o primeiro item na exibição como o CurrentItem.

MoveCurrentToLast()

Define o último item na exibição como o CurrentItem.

MoveCurrentToNext()

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

MoveCurrentToPosition(Int32)

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

MoveCurrentToPrevious()

Define o item antes do CurrentItem na exibição como o CurrentItem.

OKToChangeCurrent()

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

OnAllowsCrossThreadChangesChanged()

Ocorre quando a propriedade AllowsCrossThreadChanges muda.

OnBeginChangeLogging(NotifyCollectionChangedEventArgs)
Obsoleto.

Chamado pela classe base para notificar a classe derivada de que um evento CollectionChanged 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()

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

OnCurrentChanging(CurrentChangingEventArgs)

Aciona o evento CurrentChanging com os argumentos especificados.

OnPropertyChanged(PropertyChangedEventArgs)

Aciona o evento PropertyChanged 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()

Assegura que todas as alterações pendentes para a coleção foram confirmadas.

Refresh()

Recria a exibição.

RefreshOrDefer()

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

RefreshOverride()

Recria a exibição.

SetCurrent(Object, Int32)

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

SetCurrent(Object, Int32, Int32)

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

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

(Herdado de DispatcherObject)

Eventos

CollectionChanged

Ocorre quando a exibição foi alterada.

CurrentChanged

Ocorre depois que o CurrentItem foi alterado.

CurrentChanging

Ocorre quando o CurrentItem está sendo alterado.

PropertyChanged

Ocorre quando um valor da propriedade é alterado.

Implantações explícitas de interface

IEnumerable.GetEnumerator()

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

INotifyCollectionChanged.CollectionChanged

Ocorre quando a exibição foi alterada.

INotifyPropertyChanged.PropertyChanged

Ocorre quando um valor de propriedade é alterado.

Métodos de Extensão

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.

AsParallel(IEnumerable)

Habilita a paralelização de uma consulta.

AsQueryable(IEnumerable)

Converte um IEnumerable em um IQueryable.

Aplica-se a