ItemCollection Classe

Definição

Deté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 tiver um ItemsControl, como um ListBox que tenha conteúdo, pode usar a Items propriedade para aceder ao ItemCollection, que é uma vista. Como é uma vista, pode então usar funcionalidades relacionadas com a vista, como ordenação, filtragem e agrupamento. Note que, quando o ItemsSource está definido, as operações de vista delegam para a vista sobre a coleção ItemsSource. Portanto, a ItemCollection suporta ordenação, filtragem e agrupamento apenas se a vista delegada os suportar.

O exemplo seguinte mostra como ordenar o conteúdo de um ListBox .myListBox Neste exemplo, Content é o nome da propriedade a ordenar.

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

Quando fazes isto, a vista pode ou não ser a vista padrão, dependendo de como os dados estão configurados no teu ItemsControlarquivo . Por exemplo, quando a ItemsSource propriedade está vinculada a um CollectionViewSource, a vista que obtém usando a Items propriedade não é a vista padrão.

Se o teu ItemsControl for limitado (estás a usar a propriedade ItemsSource ), podes fazer o seguinte para obter a vista padrão:

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

Alternativamente, pode especificar critérios de filtragem, ordenação e agrupamento em XAML usando CollectionViewSource.

Observações

ItemCollection mantém uma coleção de itens como strings, objetos, nós XML, elementos e outras coleções. E ItemsControl usa os dados em para ItemCollection gerar o seu conteúdo. Se quiser agregar mais do que uma coleção, atribua a CompositeCollection à ItemsSource propriedade do 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 ItemsControlarquivo . Quando a ItemsSource propriedade é definida, a Items coleção passa a ser apenas de leitura e de tamanho fixo. Isto significa que, se estiver a usar a ItemsSource propriedade, não pode adicionar, eliminar ou alterar itens diretamente na ItemCollection propriedade.

ItemCollection é a CollectionView e, portanto, fornece funcionalidades de vista de coleção, como ordenação, agrupamento e filtragem. Para obter mais informações, consulte SortDescriptions, Filtere GroupDescriptions.

Para mais informações sobre as vistas da coleção, consulte Visão Geral da Ligação de Dados.

Propriedades

Name Description
AllowsCrossThreadChanges

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

(Herdado de CollectionView)
CanChangeLiveFiltering

Recebe um valor que indica se a vista de coleção suporta ativar ou desligar os dados de filtragem em tempo real.

CanChangeLiveGrouping

Recebe um valor que indica se a vista de coleção suporta ativar ou desligar os dados de agrupamento em tempo real.

CanChangeLiveSorting

Recebe um valor que indica se a vista de coleção suporta ativar ou desligar os dados de ordenação em tempo real.

CanFilter

Obtém um valor que indica se esta vista de coleção suporta filtragem.

CanGroup

Obtém um valor que indica se esta vista de coleção suporta agrupamento.

CanSort

Obtém um valor que indica se esta vista de coleção suporta ordenação.

Comparer

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

(Herdado de CollectionView)
Count

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

Culture

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

(Herdado de CollectionView)
CurrentItem

Obtém o item atual na vista.

CurrentPosition

Obtém a posição ordinal do item atual dentro da vista.

Dispatcher

Percebe o Dispatcher que isto DispatcherObject está associado.

(Herdado de DispatcherObject)
Filter

Recebe ou define um callback usado para determinar se um item é adequado para inclusão na vista.

GroupDescriptions

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

Groups

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

IsCurrentAfterLast

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

IsCurrentBeforeFirst

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

IsCurrentInSync

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

(Herdado de CollectionView)
IsDynamic

Recebe 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 vista resultante (filtrada) está vazia.

IsInUse

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

(Herdado de CollectionView)
IsLiveFiltering

Recebe ou define um valor que indica se a filtragem de dados em tempo real está ativada.

IsLiveGrouping

Recebe ou define um valor que indica se o agrupamento de dados em tempo real está ativado.

IsLiveSorting

Recebe ou define um valor que indica se a ordenação em tempo real está ativada.

IsRefreshDeferred

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

(Herdado de CollectionView)
Item[Int32]

Obtém ou define o item no índice zero dado.

LiveFilteringProperties

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

LiveGroupingProperties

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

LiveSortingProperties

Obtém uma coleção de cadeias que especificam as propriedades que participam na ordenação dos dados em tempo real.

NeedsRefresh

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

SortDescriptions

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

SourceCollection

Obtém a coleção não ordenada e não filtrada que está na base desta vista de coleção.

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

(Herdado de CollectionView)

Métodos

Name Description
Add(Object)

Adiciona um item ao ItemCollection.

CheckAccess()

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

(Herdado de DispatcherObject)
Clear()

Limpa a coleção e liberta as referências de todos os itens atualmente na coleção.

ClearChangeLog()
Obsoleto.

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

(Herdado de CollectionView)
ClearPendingChanges()

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

(Herdado de CollectionView)
Contains(Object)

Devolve um valor que indica se o item especificado está nesta vista.

CopyTo(Array, Int32)

Copia os elementos da coleção para um array, começando num índice particular do array.

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.

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

(Herdado de CollectionView)
GetHashCode()

Serve como função de hash predefinida.

(Herdado de Object)
GetItemAt(Int32)

Devolve o item no índice zero especificado nesta vista.

GetType()

Obtém o Type da instância atual.

(Herdado de Object)
IndexOf(Object)

Devolve o índice nesta coleção onde o item especificado está localizado.

Insert(Int32, Object)

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

MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
MoveCurrentTo(Object)

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

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.

(Herdado de CollectionView)
OnAllowsCrossThreadChangesChanged()

Ocorre quando a AllowsCrossThreadChanges propriedade muda.

(Herdado de CollectionView)
OnBeginChangeLogging(NotifyCollectionChangedEventArgs)
Obsoleto.

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

(Herdado de CollectionView)
OnCollectionChanged(NotifyCollectionChangedEventArgs)

Eleva o CollectionChanged evento.

(Herdado de CollectionView)
OnCollectionChanged(Object, NotifyCollectionChangedEventArgs)

Eleva o CollectionChanged evento.

(Herdado de CollectionView)
OnCurrentChanged()

Eleva o CurrentChanged evento.

(Herdado de CollectionView)
OnCurrentChanging()

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

(Herdado de CollectionView)
OnCurrentChanging(CurrentChangingEventArgs)

Eleva o CurrentChanging evento com os argumentos especificados.

(Herdado de CollectionView)
OnPropertyChanged(PropertyChangedEventArgs)

Levanta o PropertyChanged evento usando os argumentos especificados.

(Herdado de CollectionView)
PassesFilter(Object)

Devolve um valor que indica se o item especificado pertence a esta visão.

ProcessCollectionChanged(NotifyCollectionChangedEventArgs)

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

(Herdado de CollectionView)
ProcessPendingChanges()

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

(Herdado de CollectionView)
Refresh()

Recria a vista.

(Herdado de CollectionView)
RefreshOrDefer()

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

(Herdado de CollectionView)
RefreshOverride()

Recria a vista.

(Herdado de CollectionView)
Remove(Object)

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

RemoveAt(Int32)

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

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.

(Herdado de CollectionView)
SetCurrent(Object, Int32)

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

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

(Herdado de CollectionView)
CurrentChanged

Ocorre depois de o CurrentItem ter mudado.

(Herdado de CollectionView)
CurrentChanging

Ocorre quando está CurrentItem a mudar.

(Herdado de CollectionView)
PropertyChanged

Ocorre quando o valor de uma propriedade mudou.

(Herdado de CollectionView)

Implementações de Interface Explícita

Name Description
ICollection.IsSynchronized

Este membro suporta a infraestrutura Windows Presentation Foundation (WPF) e não foi concebido para ser usado diretamente a partir do seu código.

ICollection.SyncRoot

Este membro suporta a infraestrutura Windows Presentation Foundation (WPF) e não foi concebido para ser usado diretamente a partir do seu código.

IEditableCollectionView.AddNew()

Adiciona um novo item à coleção.

IEditableCollectionView.CanAddNew

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

IEditableCollectionView.CanCancelEdit

Recebe um valor que indica se a vista de coleção pode descartar 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 do item.

IEditableCollectionView.CancelNew()

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

IEditableCollectionView.CanRemove

Recebe um valor que indica se um item pode ser removido da coleção.

IEditableCollectionView.CommitEdit()

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

IEditableCollectionView.CommitNew()

Termina a transação de adicionar e guarda o novo item pendente.

IEditableCollectionView.CurrentAddItem

Recebe o item que está a ser adicionado durante a transação atual de adição.

IEditableCollectionView.CurrentEditItem

Recebe o item da coleção que está a ser editado.

IEditableCollectionView.EditItem(Object)

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

IEditableCollectionView.IsAddingNew

Recebe um valor que indica se uma transação de adição está em curso.

IEditableCollectionView.IsEditingItem

Recebe um valor que indica se uma transação de edição está em curso.

IEditableCollectionView.NewItemPlaceholderPosition

Obtém ou define a posição do novo item marcador na vista 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

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

IEnumerable.GetEnumerator()

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

(Herdado de CollectionView)
IItemProperties.ItemProperties

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

IList.IsFixedSize

Este membro suporta a infraestrutura Windows Presentation Foundation (WPF) e não foi concebido para ser usado diretamente a partir do seu código.

IList.IsReadOnly

Este membro suporta a infraestrutura Windows Presentation Foundation (WPF) e não foi concebido para ser usado diretamente a partir do seu código.

INotifyCollectionChanged.CollectionChanged

Ocorre quando a visão mudou.

(Herdado de CollectionView)
INotifyPropertyChanged.PropertyChanged

Ocorre quando o valor de uma propriedade muda.

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

Recebe eventos do gestor centralizado de eventos.

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

Ver também