Condividi tramite


ItemCollection Classe

Definizione

Contiene l'elenco degli elementi che costituiscono il contenuto di un 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
Ereditarietà
Attributi
Implementazioni

Esempio

Se si dispone di un ItemsControloggetto , ad esempio un oggetto ListBox con contenuto, è possibile usare la Items proprietà per accedere ItemCollectiona , ovvero una visualizzazione. Poiché si tratta di una visualizzazione, è quindi possibile usare le funzionalità correlate alla visualizzazione, ad esempio ordinamento, filtro e raggruppamento. Si noti che quando ItemsSource è impostato, le operazioni di visualizzazione delegano alla visualizzazione sull'insieme ItemsSource. Pertanto, ItemCollection supporta l'ordinamento, il filtro e il raggruppamento solo se la visualizzazione delegata le supporta.

Nell'esempio seguente viene illustrato come ordinare il contenuto di un ListBox oggetto denominato myListBox. In questo esempio Content è il nome della proprietà da ordinare.

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

Quando si esegue questa operazione, la visualizzazione potrebbe essere o meno la visualizzazione predefinita, a seconda della configurazione dei dati in ItemsControl. Ad esempio, quando la ItemsSource proprietà è associata a un CollectionViewSourceoggetto , la visualizzazione ottenuta utilizzando la Items proprietà non è la visualizzazione predefinita.

ItemsControl Se l'oggetto è associato (si usa la ItemsSource proprietà ), è possibile eseguire le operazioni seguenti per ottenere la visualizzazione predefinita:

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

In alternativa, è possibile specificare i criteri di filtro, ordinamento e raggruppamento in XAML usando CollectionViewSource.

Commenti

ItemCollection gestisce una raccolta di elementi, ad esempio stringhe, oggetti, nodi XML, elementi e altre raccolte. Un ItemsControl oggetto usa i dati in ItemCollection per generare il relativo contenuto. Se si desidera aggregare più raccolte, assegnare un CompositeCollection oggetto alla proprietà dell'oggetto ItemsControlItemsSource .

Utilizzare la Items proprietà o la ItemsSource proprietà per specificare la raccolta che deve essere utilizzata per generare il contenuto dell'oggetto ItemsControl. Quando la proprietà è impostata, l'insieme ItemsSourceItems verrà reso di sola lettura e di dimensioni fisse. Ciò significa che se si usa la ItemsSource proprietà , non è possibile aggiungere, eliminare o modificare gli elementi direttamente in ItemCollection .

ItemCollection è un CollectionView oggetto e fornisce quindi funzionalità di visualizzazione delle raccolte, ad esempio l'ordinamento, il raggruppamento e il filtro. Per altre informazioni, vedere SortDescriptions, Filter e GroupDescriptions.

Per altre informazioni sulle viste di raccolta, vedere Panoramica del data binding.

Proprietà

AllowsCrossThreadChanges

Ottiene un valore che indica se un thread diverso da quello che ha creato CollectionView può modificare SourceCollection.

(Ereditato da CollectionView)
CanChangeLiveFiltering

Ottiene un valore che indica se la visualizzazione della raccolta supporta l'attivazione o disattivazione del filtraggio dei dati in tempo reale.

CanChangeLiveGrouping

Ottiene un valore che indica se la visualizzazione della raccolta supporta l'attivazione o la disattivazione del raggruppamento dei dati in tempo reale.

CanChangeLiveSorting

Ottiene un valore che indica se la visualizzazione della raccolta supporta l'attivazione o la disattivazione dell'ordinamento dei dati in tempo reale.

CanFilter

Ottiene un valore che indica se questa visualizzazione dell'insieme supporta il filtraggio.

CanGroup

Ottiene un valore che indica se questa visualizzazione dell'insieme supporta il raggruppamento.

CanSort

Ottiene un valore che indica se questa visualizzazione dell'insieme supporta l’ordinamento.

Comparer

Restituisce un oggetto che è possibile utilizzare per confrontare gli elementi nella visualizzazione.

(Ereditato da CollectionView)
Count

Ottiene il numero di record presenti nell'insieme.

Culture

Ottiene o imposta le informazioni sulle impostazioni cultura da utilizzare durante l'ordinamento.

(Ereditato da CollectionView)
CurrentItem

Ottiene l'elemento corrente della visualizzazione.

CurrentPosition

Ottiene la posizione ordinale dell'elemento corrente all'interno della visualizzazione.

Dispatcher

Ottiene l'oggetto Dispatcher associato a DispatcherObject.

(Ereditato da DispatcherObject)
Filter

Ottiene o imposta un callback utilizzato da determinare se un elemento è adatto per essere incluso nella visualizzazione.

GroupDescriptions

Ottiene un insieme di oggetti GroupDescription che definisce come raggruppare gli elementi.

Groups

Ottiene i gruppi di primo livello costruiti secondo GroupDescriptions.

IsCurrentAfterLast

Ottiene un valore che indica se l'elemento corrente della visualizzazione è oltre la fine dell'insieme.

IsCurrentBeforeFirst

Ottiene un valore che indica se l'elemento corrente della visualizzazione è oltre l’inizio dell'insieme.

IsCurrentInSync

Ottiene un valore che indica se l'oggetto CurrentItem è nella posizione CurrentPosition.

(Ereditato da CollectionView)
IsDynamic

Ottiene un valore che indica se l'insieme sottostante fornisce notifiche di modifica.

(Ereditato da CollectionView)
IsEmpty

Ottiene un valore che indica se la visualizzazione risultante (filtrata) è vuota.

IsInUse

Ottiene un valore che indica se eventuali oggetti stanno effettuando la sottoscrizione all'oggetto CollectionView.

(Ereditato da CollectionView)
IsLiveFiltering

Ottiene o imposta un valore che indica se il filtraggio di dati in tempo reale è attivato.

IsLiveGrouping

Ottiene o imposta un valore che indica se il raggruppamento di dati in tempo reale è attivato.

IsLiveSorting

Ottiene o imposta un valore che indica se l'ordinamento in tempo reale è attivato.

IsRefreshDeferred

Ottiene un valore che indica se è in uso l'oggetto DeferRefresh() in sospeso.

(Ereditato da CollectionView)
Item[Int32]

Ottiene o imposta l’elemento in corrispondenza dell'indice in base zero specificato.

LiveFilteringProperties

Ottiene una raccolta di stringhe che specificano le proprietà che fanno parte del filtraggio di dati in tempo reale.

LiveGroupingProperties

Ottiene una raccolta di stringhe che specificano le proprietà che fanno parte del raggruppamento dei dati in tempo reale.

LiveSortingProperties

Ottiene una raccolta di stringhe che specificano le proprietà che fanno parte dell'ordinamento di dati in tempo reale.

NeedsRefresh

Ottiene un valore che indica se l'insieme deve essere aggiornato.

SortDescriptions

Ottiene una raccolta di oggetti SortDescription che descrive la modalità di ordinamento degli elementi nella visualizzazione.

SourceCollection

Ottiene un insieme non ordinato e non filtrato sottostante a questa visualizzazione dell'insieme.

UpdatedOutsideDispatcher

Ottiene un valore che indica se è stato necessario aggiornare il log delle modifiche perché è stata ricevuta una CollectionChanged notifica in un thread diverso senza prima immettere il dispatcher thread dell'interfaccia utente.

(Ereditato da CollectionView)

Metodi

Add(Object)

Aggiunge un elemento a ItemCollection.

CheckAccess()

Determina se il thread chiamante ha accesso a DispatcherObject.

(Ereditato da DispatcherObject)
Clear()

Elimina l'insieme e rilascia i riferimenti a tutti gli elementi attualmente presenti nell'insieme.

ClearChangeLog()
Obsoleti.

Cancella qualsiasi modifica in sospeso dal registro delle modifiche.

(Ereditato da CollectionView)
ClearPendingChanges()

Cancella le modifiche non elaborate alla raccolta.

(Ereditato da CollectionView)
Contains(Object)

Restituisce un valore che indica se l'elemento specificato è contenuto in questa visualizzazione.

CopyTo(Array, Int32)

Copia gli elementi della raccolta in una matrice, a partire da un indice della matrice specifico.

DeferRefresh()

Immette un ciclo di rinvio che è possibile utilizzare per unire le modifiche alla visualizzazione e ritardare l'aggiornamento automatico.

DetachFromSourceCollection()

Rimuove il riferimento alla raccolta sottostante da CollectionView.

(Ereditato da CollectionView)
Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetEnumerator()

Restituisce un oggetto che è possibile utilizzare per enumerare gli elementi nella visualizzazione.

(Ereditato da CollectionView)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetItemAt(Int32)

Restituisce l’elemento all'indice in base zero specificato in questa visualizzazione.

GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
IndexOf(Object)

Restituisce l'indice dell’insieme in cui è contenuto l'elemento specificato.

Insert(Int32, Object)

Inserisce un elemento nella raccolta in corrispondenza dell'indice specificato.

MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
MoveCurrentTo(Object)

Imposta l'elemento specificato nell'insieme come CurrentItem.

MoveCurrentToFirst()

Imposta il primo elemento nella visualizzazione come CurrentItem.

MoveCurrentToLast()

Imposta l’ultimo elemento nella visualizzazione come CurrentItem.

MoveCurrentToNext()

Imposta l'elemento successivo a CurrentItem nella visualizzazione come CurrentItem.

MoveCurrentToPosition(Int32)

Imposta l'elemento in corrispondenza dell'indice specificato come primo oggetto CurrentItem nella visualizzazione.

MoveCurrentToPrevious()

Imposta l’elemento precedente a CurrentItem nella visualizzazione come CurrentItem.

OKToChangeCurrent()

Restituisce un valore che indica se la visualizzazione può modificare l'elemento CurrentItem.

(Ereditato da CollectionView)
OnAllowsCrossThreadChangesChanged()

Si verifica quando la proprietà AllowsCrossThreadChanges cambia.

(Ereditato da CollectionView)
OnBeginChangeLogging(NotifyCollectionChangedEventArgs)
Obsoleti.

Chiamato dalla classe di base per notificare alla classe derivata che un evento CollectionChanged è stato inserito nella coda di messaggi.

(Ereditato da CollectionView)
OnCollectionChanged(NotifyCollectionChangedEventArgs)

Genera l'evento CollectionChanged.

(Ereditato da CollectionView)
OnCollectionChanged(Object, NotifyCollectionChangedEventArgs)

Genera l'evento CollectionChanged.

(Ereditato da CollectionView)
OnCurrentChanged()

Genera l'evento CurrentChanged.

(Ereditato da CollectionView)
OnCurrentChanging()

Genera un evento CurrentChanging che non è annullabile.

(Ereditato da CollectionView)
OnCurrentChanging(CurrentChangingEventArgs)

Genera l'evento CurrentChanging con gli argomenti specificati.

(Ereditato da CollectionView)
OnPropertyChanged(PropertyChangedEventArgs)

Genera l'evento PropertyChanged mediante gli argomenti specificati.

(Ereditato da CollectionView)
PassesFilter(Object)

Restituisce un valore che indica se l'elemento specificato appartiene a questa visualizzazione.

ProcessCollectionChanged(NotifyCollectionChangedEventArgs)

Quando sottoposto a override in una classe derivata, elabora una singola modifica nel thread dell'interfaccia utente.

(Ereditato da CollectionView)
ProcessPendingChanges()

Verificare che tutte le modifiche in sospeso alla raccolta siano state salvate.

(Ereditato da CollectionView)
Refresh()

Ricrea la visualizzazione.

(Ereditato da CollectionView)
RefreshOrDefer()

Aggiorna la visualizzazione o specifica che la visualizzazione deve essere aggiornata al termine del ciclo di rinvio.

(Ereditato da CollectionView)
RefreshOverride()

Ricrea la visualizzazione.

(Ereditato da CollectionView)
Remove(Object)

Rimuove il riferimento dell'elemento specificato dall'insieme o dalla visualizzazione.

RemoveAt(Int32)

Rimuove l'elemento in corrispondenza dell'indice specificato dall’insieme o dalla visualizzazione.

SetCurrent(Object, Int32)

Imposta l'elemento specificato e l'indice come valori delle proprietà CurrentItem e CurrentPosition.

(Ereditato da CollectionView)
SetCurrent(Object, Int32, Int32)

Imposta l'elemento specificato e l'indice come valori delle proprietà CurrentItem e CurrentPosition. Questo metodo può essere richiamato da un costruttore di una classe derivata.

(Ereditato da CollectionView)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)
VerifyAccess()

Impone che il thread chiamante abbia accesso a DispatcherObject.

(Ereditato da DispatcherObject)

Eventi

CollectionChanged

Si verifica quando la vista viene modificata.

(Ereditato da CollectionView)
CurrentChanged

Si verifica dopo la modifica di CurrentItem.

(Ereditato da CollectionView)
CurrentChanging

Viene generato durante la modifica di un oggetto CurrentItem.

(Ereditato da CollectionView)
PropertyChanged

Si verifica quando il valore di una proprietà è stato modificato.

(Ereditato da CollectionView)

Implementazioni dell'interfaccia esplicita

ICollection.IsSynchronized

Questo membro supporta l'infrastruttura Windows Presentation Foundation (WPF) e non deve essere usata direttamente dal codice.

ICollection.SyncRoot

Questo membro supporta l'infrastruttura Windows Presentation Foundation (WPF) e non deve essere usata direttamente dal codice.

IEditableCollectionView.AddNew()

Aggiunge un nuovo elemento alla raccolta.

IEditableCollectionView.CanAddNew

Ottiene un valore che indica se è possibile aggiungere un nuovo elemento alla raccolta.

IEditableCollectionView.CanCancelEdit

Ottiene un valore che indica se la visualizzazione raccolta può annullare le modifiche in sospeso e ripristinare i valori originali di un oggetto modificato.

IEditableCollectionView.CancelEdit()

Termina la transazione di modifica e, se possibile, ripristina il valore originale dell'elemento.

IEditableCollectionView.CancelNew()

Termina la transazione di aggiunta ed elimina il nuovo elemento in sospeso.

IEditableCollectionView.CanRemove

Ottiene un valore che indica se è possibile rimuovere un elemento dalla raccolta.

IEditableCollectionView.CommitEdit()

Termina la transazione di modifica e salva le modifiche in sospeso.

IEditableCollectionView.CommitNew()

Termina la transazione di aggiunta e salva il nuovo elemento in sospeso.

IEditableCollectionView.CurrentAddItem

Ottiene l'elemento che viene aggiunto durante la transazione di aggiunta corrente.

IEditableCollectionView.CurrentEditItem

Ottiene l'elemento della raccolta che viene modificato.

IEditableCollectionView.EditItem(Object)

Avvia una transazione di modifica dell'elemento specificato.

IEditableCollectionView.IsAddingNew

Ottiene un valore che indica se è in corso una transazione di aggiunta.

IEditableCollectionView.IsEditingItem

Ottiene un valore che indica se è in corso una transazione di modifica.

IEditableCollectionView.NewItemPlaceholderPosition

Ottiene o imposta la posizione del segnaposto del nuovo elemento nella visualizzazione raccolta.

IEditableCollectionView.Remove(Object)

Rimuove l'elemento specificato dalla raccolta.

IEditableCollectionView.RemoveAt(Int32)

Rimuove dalla raccolta l'elemento in corrispondenza della posizione specificata.

IEditableCollectionViewAddNewItem.AddNewItem(Object)

Aggiunge alla raccolta l'oggetto specificato.

IEditableCollectionViewAddNewItem.CanAddNewItem

Ottiene un valore che indica se è possibile aggiungere un oggetto specificato all'insieme.

IEnumerable.GetEnumerator()

Restituisce un oggetto IEnumerator che è possibile utilizzare per enumerare gli elementi nella visualizzazione.

(Ereditato da CollectionView)
IItemProperties.ItemProperties

Ottiene un insieme contenente informazioni sulle proprietà disponibili per gli elementi di un insieme.

IList.IsFixedSize

Questo membro supporta l'infrastruttura Windows Presentation Foundation (WPF) e non deve essere usata direttamente dal codice.

IList.IsReadOnly

Questo membro supporta l'infrastruttura Windows Presentation Foundation (WPF) e non deve essere usata direttamente dal codice.

INotifyCollectionChanged.CollectionChanged

Si verifica quando la vista viene modificata.

(Ereditato da CollectionView)
INotifyPropertyChanged.PropertyChanged

Generato quando il valore di una proprietà cambia.

(Ereditato da CollectionView)
IWeakEventListener.ReceiveWeakEvent(Type, Object, EventArgs)

Riceve gli eventi dal gestore degli eventi centralizzato.

Metodi di estensione

Cast<TResult>(IEnumerable)

Esegue il cast degli elementi di un oggetto IEnumerable nel tipo specificato.

OfType<TResult>(IEnumerable)

Filtra gli elementi di un oggetto IEnumerable in base a un tipo specificato.

AsParallel(IEnumerable)

Consente la parallelizzazione di una query.

AsQueryable(IEnumerable)

Converte un oggetto IEnumerable in un oggetto IQueryable.

Si applica a

Vedi anche