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