CollectionView Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
- 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. |