CollectionView Classe

Definição

Representa uma vista para agrupar, ordenar, filtrar e navegar numa recolha 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
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

Observações

Não deve criar objetos desta classe no seu código. Para criar uma vista de coleção para uma coleção que apenas implementa IEnumerable, crie um CollectionViewSource objeto, adicione a sua coleção à Source propriedade e obtenha a vista de coleção a partir da View propriedade.

Pode pensar numa vista de coleção como uma camada por cima de uma coleção de origem que lhe permite navegar e exibir a coleção com base em consultas de ordenação, filtro e grupo, tudo sem ter de manipular a coleção de origem subjacente. Se a coleção de código-fonte implementar a INotifyCollectionChanged interface, as alterações que geram o CollectionChanged evento são propagadas para as vistas.

Como uma vista não altera a coleção fonte subjacente, uma coleção de fonte pode ter múltiplas vistas associadas. Ao usar vistas, pode mostrar os mesmos dados de formas diferentes. Por exemplo, podes usar duas vistas numa coleção de Task objetos para mostrar tarefas ordenadas por prioridade numa parte da página e agrupadas por área noutra parte da página.

Nas aplicações WPF, todas as coleções têm uma vista de coleção por defeito associada. Em vez de trabalhar diretamente com a coleção, o motor de binding acede sempre à coleção através da vista associada. Para obter a vista padrão, use o CollectionViewSource.GetDefaultView método. Uma classe interna baseada em CollectionView é a vista padrão para coleções que implementam apenas IEnumerable. ListCollectionView é a vista padrão para coleções que implementam IList. BindingListCollectionView é a vista padrão para coleções que implementam IBindingListView ou IBindingList.

Em alternativa, pode criar uma vista da sua coleção em Extensible Application Markup Language (XAML) usando a CollectionViewSource classe e depois associar o seu controlo a essa vista. A CollectionViewSource classe é a representação XAML da CollectionView classe. Para um exemplo, veja Como: Ordenar e Agrupar Dados Usando uma Vista em XAML.

Para obter mais informações, consulte "Vinculação a coleções" em Visão geral da vinculação de dados.

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

Name Description
CollectionView(IEnumerable)

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

Propriedades

Name Description
AllowsCrossThreadChanges

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

CanFilter

Recebe um valor que indica se a vista suporta filtragem.

CanGroup

Obtém um valor que indica se a vista suporta agrupamento.

CanSort

Recebe um valor que indica se a vista suporta ordenação.

Comparer

Devolve um objeto que pode usar para comparar itens na vista.

Count

Obtém o número de registos na visualização.

Culture

Obtém ou define a informação de cultura para usar durante a triagem.

CurrentItem

Obtém o item atual na vista.

CurrentPosition

Obtém a posição ordinal do CurrentItem dentro da vista (opcionalmente ordenada e filtrada).

Dispatcher

Percebe o Dispatcher que isto 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 vista.

GroupDescriptions

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

Groups

Obtém uma coleção dos grupos de topo que é construída com base na GroupDescriptions propriedade.

IsCurrentAfterLast

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

IsCurrentBeforeFirst

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

IsCurrentInSync

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

IsDynamic

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

IsEmpty

Obtém um valor que indica se a vista resultante (filtrada) está vazia.

IsInUse

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

IsRefreshDeferred

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

NeedsRefresh

Recebe um valor que indica se a visualização precisa de ser atualizada.

NewItemPlaceholder

Faz com que o objeto que está na coleção represente um novo item.

SortDescriptions

Obtém uma coleção de SortDescription estruturas que descreve como os itens da coleção estão organizados na vista.

SourceCollection

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

UpdatedOutsideDispatcher

Recebe um valor que indica se foi necessário atualizar o registo de alterações porque uma CollectionChanged notificação foi recebida numa thread diferente sem antes introduzir o despachante da thread interface (UI).

Métodos

Name Description
CheckAccess()

Determina se o thread que chama tem acesso a este DispatcherObject.

(Herdado de DispatcherObject)
ClearChangeLog()
Obsoleto.

Apaga quaisquer alterações pendentes do registo de alterações.

ClearPendingChanges()

Os compensadores não processados mudaram para a coleção.

Contains(Object)

Devolve um valor que indica se o item especificado pertence à visualização.

DeferRefresh()

Entra num ciclo de adiamento que podes usar para fundir alterações na visualização e atrasar a atualização automática.

DetachFromSourceCollection()

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

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetEnumerator()

Devolve um objeto que podes usar para enumerar os itens na vista.

GetHashCode()

Serve como função de hash predefinida.

(Herdado de Object)
GetItemAt(Int32)

Recupera o item no índice baseado em zero especificado na vista.

GetType()

Obtém o Type da instância atual.

(Herdado de Object)
IndexOf(Object)

Devolve o índice onde o item especificado está localizado.

MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
MoveCurrentTo(Object)

Define o item especificado como o CurrentItem na vista.

MoveCurrentToFirst()

Define o primeiro item na vista como o CurrentItem.

MoveCurrentToLast()

Define o último item na vista como o CurrentItem.

MoveCurrentToNext()

Define o item após o CurrentItem na vista como o CurrentItem.

MoveCurrentToPosition(Int32)

Define o item no índice especificado como o CurrentItem na vista.

MoveCurrentToPrevious()

Define o item antes do CurrentItem na vista como o CurrentItem.

OKToChangeCurrent()

Devolve um valor que indica se a vista pode alterar qual item é o CurrentItem.

OnAllowsCrossThreadChangesChanged()

Ocorre quando a AllowsCrossThreadChanges propriedade muda.

OnBeginChangeLogging(NotifyCollectionChangedEventArgs)
Obsoleto.

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

OnCollectionChanged(NotifyCollectionChangedEventArgs)

Eleva o CollectionChanged evento.

OnCollectionChanged(Object, NotifyCollectionChangedEventArgs)

Eleva o CollectionChanged evento.

OnCurrentChanged()

Eleva o CurrentChanged evento.

OnCurrentChanging()

Levanta um CurrentChanging evento que não pode ser cancelado.

OnCurrentChanging(CurrentChangingEventArgs)

Eleva o CurrentChanging evento com os argumentos especificados.

OnPropertyChanged(PropertyChangedEventArgs)

Levanta o PropertyChanged evento usando os argumentos especificados.

PassesFilter(Object)

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

ProcessCollectionChanged(NotifyCollectionChangedEventArgs)

Quando é sobreposto numa classe derivada, processa uma única alteração no thread da interface.

ProcessPendingChanges()

Assegura que todas as alterações pendentes à coleção foram comprometidas.

Refresh()

Recria a vista.

RefreshOrDefer()

Atualiza a vista ou especifica que esta precisa de ser atualizada quando o ciclo de adiamento terminar.

RefreshOverride()

Recria a vista.

SetCurrent(Object, Int32, Int32)

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

SetCurrent(Object, Int32)

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

ToString()

Devolve uma cadeia que representa o objeto atual.

(Herdado de Object)
VerifyAccess()

Faz cumprir que o thread que chama tem acesso a este DispatcherObject.

(Herdado de DispatcherObject)

evento

Name Description
CollectionChanged

Ocorre quando a visão mudou.

CurrentChanged

Ocorre depois de o CurrentItem ter mudado.

CurrentChanging

Ocorre quando está CurrentItem a mudar.

PropertyChanged

Ocorre quando o valor de uma propriedade mudou.

Implementações de Interface Explícita

Name Description
IEnumerable.GetEnumerator()

Devolve um IEnumerator objeto que podes usar para enumerar os itens na vista.

INotifyCollectionChanged.CollectionChanged

Ocorre quando a visão mudou.

INotifyPropertyChanged.PropertyChanged

Ocorre quando o valor de uma propriedade muda.

Métodos da Extensão

Name Description
AsParallel(IEnumerable)

Permite a paralelização de uma consulta.

AsQueryable(IEnumerable)

Converte um IEnumerable para um IQueryable.

Cast<TResult>(IEnumerable)

Conjura os elementos de an IEnumerable para o tipo especificado.

OfType<TResult>(IEnumerable)

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

Aplica-se a