CollectionView Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Rappresenta una visualizzazione per il raggruppamento, l'ordinamento, il filtro e lo spostamento in una raccolta di dati.
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
- Ereditarietà
- Derivato
- Implementazioni
Commenti
Non è consigliabile creare oggetti di questa classe nel codice. Per creare una visualizzazione raccolta per una raccolta che implementa IEnumerablesolo , creare un CollectionViewSource oggetto , aggiungere la Source raccolta alla proprietà e ottenere la visualizzazione raccolta dalla View proprietà .
È possibile considerare una visualizzazione raccolta come un livello sopra una raccolta di origine di associazione che consente di esplorare e visualizzare la raccolta in base a query di ordinamento, filtro e gruppo, senza dover modificare la raccolta di origine sottostante stessa. Se la raccolta di origine implementa l'interfaccia INotifyCollectionChanged , le modifiche che generano l'evento CollectionChanged vengono propagate alle viste.
Poiché una vista non modifica la raccolta di origine sottostante, a una raccolta di origine possono essere associate più visualizzazioni. Usando le viste, è possibile visualizzare gli stessi dati in modi diversi. Ad esempio, è possibile utilizzare due visualizzazioni in una raccolta di Task
oggetti per visualizzare le attività ordinate in base alla priorità in una parte della pagina e raggruppate in base all'area in un'altra parte della pagina.
Nelle applicazioni WPF tutte le raccolte hanno una visualizzazione raccolta predefinita associata. Anziché usare direttamente la raccolta, il motore di associazione accede sempre alla raccolta tramite la visualizzazione associata. Per ottenere la visualizzazione predefinita, usare il CollectionViewSource.GetDefaultView metodo . Una classe interna basata su CollectionView è la visualizzazione predefinita per le raccolte che implementano solo IEnumerable. ListCollectionView è la visualizzazione predefinita per le raccolte che implementano IList. BindingListCollectionView è la visualizzazione predefinita per le raccolte che implementano IBindingListView o IBindingList.
In alternativa, è possibile creare una visualizzazione della raccolta in XAML (Extensible Application Markup Language) usando la CollectionViewSource classe e quindi associare il controllo a tale visualizzazione. La CollectionViewSource classe è la rappresentazione XAML della CollectionView classe . Per un esempio, vedere Procedura: Ordinare e raggruppare i dati usando una visualizzazione in XAML.
Per altre informazioni, vedere "Binding a raccolte" in Panoramica del data binding.
Per impostare una visualizzazione in XAML, usare la CollectionViewSource classe . CollectionViewSource è la rappresentazione XAML della CollectionView classe ed espone i membri più usati della CollectionView classe .
Costruttori
CollectionView(IEnumerable) |
Inizializza un'istanza nuova della classe CollectionView che rappresenta una visualizzazione dell'insieme specificato. |
Proprietà
AllowsCrossThreadChanges |
Ottiene un valore che indica se un thread diverso da quello che ha creato CollectionView può modificare SourceCollection. |
CanFilter |
Ottiene un valore che indica se la visualizzazione supporta il filtraggio. |
CanGroup |
Ottiene un valore che indica se la visualizzazione supporta il raggruppamento. |
CanSort |
Ottiene un valore che indica se la visualizzazione supporta l'ordinamento. |
Comparer |
Restituisce un oggetto che è possibile utilizzare per confrontare gli elementi nella visualizzazione. |
Count |
Ottiene il numero di record presenti nella visualizzazione. |
Culture |
Ottiene o imposta le informazioni sulle impostazioni cultura da utilizzare durante l'ordinamento. |
CurrentItem |
Ottiene l'elemento corrente della visualizzazione. |
CurrentPosition |
Ottiene la posizione ordinale dell'oggetto CurrentItem all'interno della visualizzazione (facoltativamente ordinata e filtrata). |
Dispatcher |
Ottiene l'oggetto Dispatcher associato a DispatcherObject. (Ereditato da DispatcherObject) |
Filter |
Ottiene o imposta un metodo usato per stabilire se un elemento è appropriato per l'inclusione nella visualizzazione. |
GroupDescriptions |
Ottiene un insieme di oggetti GroupDescription che descrive come sono raggruppati nella visualizzazione gli elementi dell'insieme. |
Groups |
Ottiene un insieme dei gruppi di livello superiore costruiti in base alla proprietà GroupDescriptions. |
IsCurrentAfterLast |
Ottiene un valore che indica se l'oggetto CurrentItem della visualizzazione è oltre la fine della raccolta. |
IsCurrentBeforeFirst |
Ottiene un valore che indica se l'oggetto CurrentItem della visualizzazione è prima dell'inizio della raccolta. |
IsCurrentInSync |
Ottiene un valore che indica se l'oggetto CurrentItem è nella posizione CurrentPosition. |
IsDynamic |
Ottiene un valore che indica se l'insieme sottostante fornisce notifiche di modifica. |
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. |
IsRefreshDeferred |
Ottiene un valore che indica se è in uso l'oggetto DeferRefresh() in sospeso. |
NeedsRefresh |
Ottiene un valore che indica se la visualizzazione deve essere aggiornata. |
NewItemPlaceholder |
Ottiene l'oggetto che si trova nell'insieme per rappresentare un nuovo elemento. |
SortDescriptions |
Ottiene un insieme di oggetti SortDescription che descrivono come sono ordinati nella visualizzazione gli elementi dell'insieme. |
SourceCollection |
Restituisce l'insieme non filtrato sottostante. |
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. |
Metodi
CheckAccess() |
Determina se il thread chiamante ha accesso a DispatcherObject. (Ereditato da DispatcherObject) |
ClearChangeLog() |
Obsoleti.
Cancella qualsiasi modifica in sospeso dal registro delle modifiche. |
ClearPendingChanges() |
Cancella le modifiche non elaborate alla raccolta. |
Contains(Object) |
Restituisce un valore che indica se l'elemento specificato appartiene alla visualizzazione. |
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. |
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. |
GetHashCode() |
Funge da funzione hash predefinita. (Ereditato da Object) |
GetItemAt(Int32) |
Recupera l'elemento in corrispondenza dell'indice in base zero specificato nella visualizzazione. |
GetType() |
Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
IndexOf(Object) |
Restituisce l'indice nel quale si trova l'elemento specificato. |
MemberwiseClone() |
Crea una copia superficiale dell'oggetto Object corrente. (Ereditato da Object) |
MoveCurrentTo(Object) |
Imposta l'elemento specificato in modo che diventi l'oggetto CurrentItem nella visualizzazione. |
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. |
OnAllowsCrossThreadChangesChanged() |
Si verifica quando la proprietà AllowsCrossThreadChanges cambia. |
OnBeginChangeLogging(NotifyCollectionChangedEventArgs) |
Obsoleti.
Chiamato dalla classe di base per notificare alla classe derivata che un evento CollectionChanged è stato inserito nella coda di messaggi. |
OnCollectionChanged(NotifyCollectionChangedEventArgs) |
Genera l'evento CollectionChanged. |
OnCollectionChanged(Object, NotifyCollectionChangedEventArgs) |
Genera l'evento CollectionChanged. |
OnCurrentChanged() |
Genera l'evento CurrentChanged. |
OnCurrentChanging() |
Genera un evento CurrentChanging che non è annullabile. |
OnCurrentChanging(CurrentChangingEventArgs) |
Genera l'evento CurrentChanging con gli argomenti specificati. |
OnPropertyChanged(PropertyChangedEventArgs) |
Genera l'evento PropertyChanged mediante gli argomenti specificati. |
PassesFilter(Object) |
Restituisce un valore che indica se l'elemento specificato nell'insieme sottostante appartiene alla visualizzazione. |
ProcessCollectionChanged(NotifyCollectionChangedEventArgs) |
Quando sottoposto a override in una classe derivata, elabora una singola modifica nel thread dell'interfaccia utente. |
ProcessPendingChanges() |
Verificare che tutte le modifiche in sospeso alla raccolta siano state salvate. |
Refresh() |
Ricrea la visualizzazione. |
RefreshOrDefer() |
Aggiorna la visualizzazione o specifica che la visualizzazione deve essere aggiornata al termine del ciclo di rinvio. |
RefreshOverride() |
Ricrea la visualizzazione. |
SetCurrent(Object, Int32) |
Imposta l'elemento specificato e l'indice come valori delle proprietà CurrentItem e CurrentPosition. |
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. |
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. |
CurrentChanged |
Si verifica dopo la modifica di CurrentItem. |
CurrentChanging |
Viene generato durante la modifica di un oggetto CurrentItem. |
PropertyChanged |
Si verifica quando il valore di una proprietà è stato modificato. |
Implementazioni dell'interfaccia esplicita
IEnumerable.GetEnumerator() |
Restituisce un oggetto IEnumerator che è possibile utilizzare per enumerare gli elementi nella visualizzazione. |
INotifyCollectionChanged.CollectionChanged |
Si verifica quando la vista viene modificata. |
INotifyPropertyChanged.PropertyChanged |
Generato quando il valore di una proprietà cambia. |
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. |