Partilhar via


ItemCollection Classe

Definição

Retém a lista de itens que constituem o conteúdo de um ItemsControl.

public ref class ItemCollection sealed : System::Windows::Data::CollectionView, System::Collections::IList, System::ComponentModel::IEditableCollectionView, System::ComponentModel::IItemProperties, System::Windows::IWeakEventListener
public ref class ItemCollection sealed : System::Windows::Data::CollectionView, System::Collections::IList, System::ComponentModel::IEditableCollectionViewAddNewItem, System::ComponentModel::IItemProperties, System::Windows::IWeakEventListener
public ref class ItemCollection sealed : System::Windows::Data::CollectionView, System::Collections::IList, System::ComponentModel::ICollectionViewLiveShaping, System::ComponentModel::IEditableCollectionViewAddNewItem, System::ComponentModel::IItemProperties, System::Windows::IWeakEventListener
[System.Windows.Localizability(System.Windows.LocalizationCategory.Ignore)]
public sealed class ItemCollection : System.Windows.Data.CollectionView, System.Collections.IList, System.ComponentModel.IEditableCollectionView, System.ComponentModel.IItemProperties, System.Windows.IWeakEventListener
[System.Windows.Localizability(System.Windows.LocalizationCategory.Ignore)]
public sealed class ItemCollection : System.Windows.Data.CollectionView, System.Collections.IList, System.ComponentModel.IEditableCollectionViewAddNewItem, System.ComponentModel.IItemProperties, System.Windows.IWeakEventListener
[System.Windows.Localizability(System.Windows.LocalizationCategory.Ignore)]
public sealed class ItemCollection : System.Windows.Data.CollectionView, System.Collections.IList, System.ComponentModel.ICollectionViewLiveShaping, System.ComponentModel.IEditableCollectionViewAddNewItem, System.ComponentModel.IItemProperties, System.Windows.IWeakEventListener
[<System.Windows.Localizability(System.Windows.LocalizationCategory.Ignore)>]
type ItemCollection = class
    inherit CollectionView
    interface IList
    interface ICollection
    interface IEnumerable
    interface IEditableCollectionView
    interface IItemProperties
    interface IWeakEventListener
[<System.Windows.Localizability(System.Windows.LocalizationCategory.Ignore)>]
type ItemCollection = class
    inherit CollectionView
    interface IList
    interface ICollection
    interface IEnumerable
    interface IEditableCollectionViewAddNewItem
    interface IEditableCollectionView
    interface IItemProperties
    interface IWeakEventListener
[<System.Windows.Localizability(System.Windows.LocalizationCategory.Ignore)>]
type ItemCollection = class
    inherit CollectionView
    interface IList
    interface ICollection
    interface IEnumerable
    interface IEditableCollectionViewAddNewItem
    interface IEditableCollectionView
    interface ICollectionViewLiveShaping
    interface IItemProperties
    interface IWeakEventListener
[<System.Windows.Localizability(System.Windows.LocalizationCategory.Ignore)>]
type ItemCollection = class
    inherit CollectionView
    interface ICollection
    interface IEnumerable
    interface IList
    interface ICollectionViewLiveShaping
    interface IEditableCollectionView
    interface IEditableCollectionViewAddNewItem
    interface IItemProperties
    interface IWeakEventListener
Public NotInheritable Class ItemCollection
Inherits CollectionView
Implements IEditableCollectionView, IItemProperties, IList, IWeakEventListener
Public NotInheritable Class ItemCollection
Inherits CollectionView
Implements IEditableCollectionViewAddNewItem, IItemProperties, IList, IWeakEventListener
Public NotInheritable Class ItemCollection
Inherits CollectionView
Implements ICollectionViewLiveShaping, IEditableCollectionViewAddNewItem, IItemProperties, IList, IWeakEventListener
Herança
Atributos
Implementações

Exemplos

Se você tiver um ItemsControl, como um ListBox que tenha conteúdo, poderá usar a Items propriedade para acessar o ItemCollection, que é uma exibição. Como é uma exibição, você pode usar as funcionalidades relacionadas à exibição, como classificação, filtragem e agrupamento. Observe que quando ItemsSource é definido, as operações de exibição delegam à exibição sobre a coleção ItemsSource. Portanto, o ItemCollection dá suporte à classificação, filtragem e agrupamento somente se a exibição delegada der suporte a eles.

O exemplo a seguir mostra como classificar o conteúdo de um ListBox chamado myListBox. Neste exemplo, Content é o nome da propriedade a ser classificada por.

myListBox.Items.SortDescriptions.Add(
    new SortDescription("Content", ListSortDirection.Descending));
myListBox.Items.SortDescriptions.Add(New SortDescription("Content", ListSortDirection.Descending))

Quando você faz isso, a exibição pode ou não ser a exibição padrão, dependendo de como os dados são configurados em seu ItemsControl. Por exemplo, quando a ItemsSource propriedade está associada a um CollectionViewSource, a exibição obtida usando a Items propriedade não é a exibição padrão.

Se o estiver ItemsControl associado (você estiver usando a ItemsSource propriedade), poderá fazer o seguinte para obter a exibição padrão:

CollectionView myView;
Private myView As CollectionView
myView = (CollectionView)CollectionViewSource.GetDefaultView(myItemsControl.ItemsSource);
myView = CType(CollectionViewSource.GetDefaultView(myItemsControl.ItemsSource), CollectionView)

Como alternativa, você pode especificar critérios de filtragem, classificação e agrupamento no XAML usando CollectionViewSource.

Comentários

ItemCollection mantém uma coleção de itens como cadeias de caracteres, objetos, nós XML, elementos e outras coleções. Um ItemsControl usa os dados no ItemCollection para gerar seu conteúdo. Se você quiser agregar mais de uma coleção, atribua uma CompositeCollection à ItemsSource propriedade de seu ItemsControl.

Use a Items propriedade ou a ItemsSource propriedade para especificar a coleção que deve ser usada para gerar o conteúdo do seu ItemsControl. Quando a ItemsSource propriedade for definida, a Items coleção será feita somente leitura e tamanho fixo. Isso significa que, se você estiver usando a ItemsSource propriedade , não poderá adicionar, excluir ou alterar itens diretamente ItemCollection .

ItemCollection é um CollectionView e, portanto, fornece funcionalidades de exibição de coleção, como classificação, agrupamento e filtragem. Para obter mais informações, consulte SortDescriptions, Filter e GroupDescriptions.

Para obter mais informações sobre exibições de coleção, consulte Visão geral da associação de dados.

Propriedades

AllowsCrossThreadChanges

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

(Herdado de CollectionView)
CanChangeLiveFiltering

Obtém um valor que indica se a exibição de coleção é compatível com a ativação ou desativação da filtragem de dados em tempo real.

CanChangeLiveGrouping

Obtém um valor que indica se a exibição de coleção é compatível com a ativação ou desativação do agrupamento de dados em tempo real.

CanChangeLiveSorting

Obtém um valor que indica se a exibição de coleção é compatível com a ativação ou desativação da classificação de dados em tempo real.

CanFilter

Obtém um valor que indica se essa exibição de coleção dá suporte a filtragem.

CanGroup

Obtém um valor que indica se essa exibição de coleção dá suporte a agrupamento.

CanSort

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

Comparer

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

(Herdado de CollectionView)
Count

Obtém o número de registros na coleção.

Culture

Obtém ou define as informações de cultura a serem usadas durante a classificação.

(Herdado de CollectionView)
CurrentItem

Obtém o item atual na exibição.

CurrentPosition

Obtém a posição ordinal do item atual na exibição.

Dispatcher

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

(Herdado de DispatcherObject)
Filter

Obtém ou define um retorno de chamada usado para determinar se um item é adequado para inclusão na exibição.

GroupDescriptions

Obtém uma coleção de objetos GroupDescription que define como agrupar os itens.

Groups

Obtém os grupos de nível superior que são construídos de acordo com o GroupDescriptions.

IsCurrentAfterLast

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

IsCurrentBeforeFirst

Obtém um valor que indica se o item atual da exibição está além do início da coleção.

IsCurrentInSync

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

(Herdado de CollectionView)
IsDynamic

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

(Herdado de CollectionView)
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.

(Herdado de CollectionView)
IsLiveFiltering

Obtém ou define um valor que indica se a filtragem de dados em tempo real está habilitada.

IsLiveGrouping

Obtém ou define um valor que indica se o agrupamento de dados em tempo real está habilitado.

IsLiveSorting

Obtém ou define um valor que indica se a classificação em tempo real está habilitada.

IsRefreshDeferred

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

(Herdado de CollectionView)
Item[Int32]

Obtém ou define o item no índice baseado em zero especificado.

LiveFilteringProperties

Obtém uma coleção de cadeias de caracteres que especificam as propriedades que participam da filtragem de dados em tempo real.

LiveGroupingProperties

Obtém uma coleção de cadeias de caracteres que especificam as propriedades que participam do agrupamento de dados em tempo real.

LiveSortingProperties

Obtém uma coleção de cadeias de caracteres que especificam as propriedades que participam da classificação de dados em tempo real.

NeedsRefresh

Obtém um valor que indica se a coleção precisa ser atualizada.

SortDescriptions

Obtém uma coleção de objetos SortDescription que descrevem como os itens na coleção são classificados na exibição.

SourceCollection

Obtém a coleção não classificada e não filtrada que serve como base para essa exibição de coleção.

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

(Herdado de CollectionView)

Métodos

Add(Object)

Adiciona um item ao ItemCollection.

CheckAccess()

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

(Herdado de DispatcherObject)
Clear()

Limpa a coleção e libera as referências em todos os itens presentes atualmente na coleção.

ClearChangeLog()
Obsoleto.

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

(Herdado de CollectionView)
ClearPendingChanges()

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

(Herdado de CollectionView)
Contains(Object)

Retorna um valor que indica se o item especificado está nesta exibição.

CopyTo(Array, Int32)

Copia os elementos da coleção em uma matriz, começando em um índice de matriz específico.

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.

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

(Herdado de CollectionView)
GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetItemAt(Int32)

Retorna o item no índice baseado em zero especificado nessa exibição.

GetType()

Obtém o Type da instância atual.

(Herdado de Object)
IndexOf(Object)

Retorna o índice nesta coleção em que o item especificado está localizado.

Insert(Int32, Object)

Insere um elemento na coleção no índice especificado.

MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
MoveCurrentTo(Object)

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

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.

(Herdado de CollectionView)
OnAllowsCrossThreadChangesChanged()

Ocorre quando a propriedade AllowsCrossThreadChanges muda.

(Herdado de CollectionView)
OnBeginChangeLogging(NotifyCollectionChangedEventArgs)
Obsoleto.

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

(Herdado de CollectionView)
OnCollectionChanged(NotifyCollectionChangedEventArgs)

Aciona o evento CollectionChanged.

(Herdado de CollectionView)
OnCollectionChanged(Object, NotifyCollectionChangedEventArgs)

Aciona o evento CollectionChanged.

(Herdado de CollectionView)
OnCurrentChanged()

Aciona o evento CurrentChanged.

(Herdado de CollectionView)
OnCurrentChanging()

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

(Herdado de CollectionView)
OnCurrentChanging(CurrentChangingEventArgs)

Aciona o evento CurrentChanging com os argumentos especificados.

(Herdado de CollectionView)
OnPropertyChanged(PropertyChangedEventArgs)

Aciona o evento PropertyChanged usando os argumentos especificados.

(Herdado de CollectionView)
PassesFilter(Object)

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

ProcessCollectionChanged(NotifyCollectionChangedEventArgs)

Quando substituído em uma classe derivada, processa uma única alteração no thread da interface do usuário.

(Herdado de CollectionView)
ProcessPendingChanges()

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

(Herdado de CollectionView)
Refresh()

Recria a exibição.

(Herdado de CollectionView)
RefreshOrDefer()

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

(Herdado de CollectionView)
RefreshOverride()

Recria a exibição.

(Herdado de CollectionView)
Remove(Object)

Remove a referência de item especificada da coleção ou exibição.

RemoveAt(Int32)

Remove o item no índice especificado da coleção ou exibição.

SetCurrent(Object, Int32)

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

(Herdado de CollectionView)
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.

(Herdado de CollectionView)
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.

(Herdado de CollectionView)
CurrentChanged

Ocorre depois que o CurrentItem foi alterado.

(Herdado de CollectionView)
CurrentChanging

Ocorre quando o CurrentItem está sendo alterado.

(Herdado de CollectionView)
PropertyChanged

Ocorre quando um valor da propriedade é alterado.

(Herdado de CollectionView)

Implantações explícitas de interface

ICollection.IsSynchronized

Esse membro dá suporte à infraestrutura de Windows Presentation Foundation (WPF) e não se destina a ser usado diretamente do seu código.

ICollection.SyncRoot

Esse membro dá suporte à infraestrutura de Windows Presentation Foundation (WPF) e não se destina a ser usado diretamente do seu código.

IEditableCollectionView.AddNew()

Adiciona um novo item à coleção.

IEditableCollectionView.CanAddNew

Obtém um valor que indica se um novo item pode ser adicionado à coleção.

IEditableCollectionView.CanCancelEdit

Obtém um valor que indica se a exibição de coleção pode descartar as alterações pendentes e restaurar os valores originais de um objeto editado.

IEditableCollectionView.CancelEdit()

Termina a transação de edição e, se possível, restaura o valor original para o item.

IEditableCollectionView.CancelNew()

Termina a transação de adição e descarta o novo item pendente.

IEditableCollectionView.CanRemove

Obtém um valor que indica se um item pode ser removido da coleção.

IEditableCollectionView.CommitEdit()

Termina a transação de edição e salva as alterações pendentes.

IEditableCollectionView.CommitNew()

Termina a transação de adição e salva o novo item pendente.

IEditableCollectionView.CurrentAddItem

Obtém o item que está sendo adicionado durante a transação de adição atual.

IEditableCollectionView.CurrentEditItem

Obtém o item na coleção que está sendo editado.

IEditableCollectionView.EditItem(Object)

Inicia uma transação de edição do item especificado.

IEditableCollectionView.IsAddingNew

Obtém um valor que indica se uma transação de adição está em andamento.

IEditableCollectionView.IsEditingItem

Obtém um valor que indica se uma transação de edição está em andamento.

IEditableCollectionView.NewItemPlaceholderPosition

Obtém ou define a posição do novo espaço reservado de item na exibição da coleção.

IEditableCollectionView.Remove(Object)

Remove o item especificado da coleção.

IEditableCollectionView.RemoveAt(Int32)

Remove o item na posição especificada da coleção.

IEditableCollectionViewAddNewItem.AddNewItem(Object)

Adiciona o objeto especificado à coleção.

IEditableCollectionViewAddNewItem.CanAddNewItem

Obtém um valor que indica se um objeto especificado pode ser adicionado à coleção.

IEnumerable.GetEnumerator()

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

(Herdado de CollectionView)
IItemProperties.ItemProperties

Obtém uma coleção que contém informações sobre as propriedades que estão disponíveis nos itens em uma coleção.

IList.IsFixedSize

Esse membro dá suporte à infraestrutura de Windows Presentation Foundation (WPF) e não se destina a ser usado diretamente do seu código.

IList.IsReadOnly

Esse membro dá suporte à infraestrutura de Windows Presentation Foundation (WPF) e não se destina a ser usado diretamente do seu código.

INotifyCollectionChanged.CollectionChanged

Ocorre quando a exibição foi alterada.

(Herdado de CollectionView)
INotifyPropertyChanged.PropertyChanged

Ocorre quando um valor de propriedade é alterado.

(Herdado de CollectionView)
IWeakEventListener.ReceiveWeakEvent(Type, Object, EventArgs)

Recebe eventos do gerenciador de eventos centralizado.

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

Confira também