CollectionView Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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
- 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. |