Partager via


CollectionView Classe

Définition

Représente une vue pour le regroupement, le tri, le filtrage et la navigation dans une collection de données.

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
Héritage
CollectionView
Dérivé
Implémente

Remarques

Vous ne devez pas créer d’objets de cette classe dans votre code. Pour créer une vue de collection pour une collection qui implémente IEnumerableuniquement , créez un CollectionViewSource objet, ajoutez votre collection à la Source propriété et obtenez la vue de collection à partir de la View propriété .

Vous pouvez considérer une vue de collection comme une couche au-dessus d’une collection source de liaison qui vous permet de naviguer et d’afficher la collection en fonction des requêtes de tri, de filtre et de groupe, tout cela sans avoir à manipuler la collection source sous-jacente elle-même. Si la collection source implémente l’interface INotifyCollectionChanged , les modifications qui déclenchent l’événement CollectionChanged sont propagées aux vues.

Étant donné qu’une vue ne modifie pas la collection source sous-jacente, plusieurs vues peuvent lui être associées. En utilisant des vues, vous pouvez afficher les mêmes données de différentes manières. Par exemple, vous pouvez utiliser deux affichages sur une collection d’objets pour afficher les Task tâches triées par priorité sur une partie de la page et regroupées par zone sur une autre partie de la page.

Dans les applications WPF, toutes les collections ont une vue de collection par défaut associée. Au lieu d’utiliser la collection directement, le moteur de liaison accède toujours à la collection via la vue associée. Pour obtenir l’affichage par défaut, utilisez la CollectionViewSource.GetDefaultView méthode . Une classe interne basée sur CollectionView est la vue par défaut pour les collections qui implémentent uniquement IEnumerable. ListCollectionView est l’affichage par défaut pour les collections qui implémentent IList. BindingListCollectionView est l’affichage par défaut pour les collections qui implémentent IBindingListView ou IBindingList.

Vous pouvez également créer une vue de votre collection en XAML (Extensible Application Markup Language) à l’aide de la CollectionViewSource classe, puis lier votre contrôle à cette vue. La CollectionViewSource classe est la représentation XAML de la CollectionView classe . Pour obtenir un exemple, consultez Guide pratique pour trier et regrouper des données à l’aide d’une vue en XAML.

Pour plus d’informations, consultez « Liaison à des collections » dans Vue d’ensemble de la liaison de données.

Pour définir une vue en XAML, utilisez la CollectionViewSource classe . CollectionViewSource représente la représentation XAML de la CollectionView classe et expose les membres les plus couramment utilisés de la CollectionView classe.

Constructeurs

CollectionView(IEnumerable)

Initialise une nouvelle instance de la classe CollectionView qui représente une vue de la collection spécifiée.

Propriétés

AllowsCrossThreadChanges

Obtient une valeur indiquant si un autre thread que celui qui a créé la CollectionView peut modifier la SourceCollection.

CanFilter

Obtient une valeur qui indique si la vue prend en charge le filtrage.

CanGroup

Obtient une valeur qui indique si la vue prend en charge le regroupement.

CanSort

Obtient une valeur qui indique si la vue prend en charge le tri.

Comparer

Retourne un objet que vous pouvez utiliser pour effectuer des comparaisons entre éléments de la vue.

Count

Obtient le nombre d'enregistrements dans la vue.

Culture

Obtient ou définit les informations de culture à utiliser pendant le tri.

CurrentItem

Obtient l'élément actif de la vue.

CurrentPosition

Obtient la position ordinale de CurrentItem dans la vue (éventuellement triée et filtrée).

Dispatcher

Obtient le Dispatcher associé à DispatcherObject.

(Hérité de DispatcherObject)
Filter

Obtient ou définit une méthode utilisée pour déterminer si un élément peut être inclus dans l’affichage.

GroupDescriptions

Obtient une collection d'objets GroupDescription qui décrit comment les éléments de la collection sont regroupés dans la vue.

Groups

Obtient une collection des groupes de niveau supérieur construite sur la base de la propriété GroupDescriptions.

IsCurrentAfterLast

Obtient une valeur qui indique si le CurrentItem de la vue est au-delà de la fin de la collection.

IsCurrentBeforeFirst

Obtient une valeur qui indique si le CurrentItem de la vue est avant le début de la collection.

IsCurrentInSync

Obtient une valeur qui indique si CurrentItem est à la CurrentPosition.

IsDynamic

Obtient une valeur qui indique si la collection sous-jacente fournit des notifications de modification.

IsEmpty

Obtient une valeur qui indique si la vue (filtrée) résultante est vide.

IsInUse

Obtient une valeur indiquant si un objet s'abonne aux événements de cette CollectionView.

IsRefreshDeferred

Obtient une valeur qui indique s'il y a un DeferRefresh() en cours d'utilisation.

NeedsRefresh

Obtient une valeur qui indique si la vue doit être actualisée.

NewItemPlaceholder

Obtient l'objet qui est dans la collection pour représenter un nouvel élément.

SortDescriptions

Obtient une collection de structures SortDescription qui décrit comment les éléments dans la collection sont triés dans la vue.

SourceCollection

Retourne la collection non filtrée sous-jacente.

UpdatedOutsideDispatcher

Obtient une valeur qui indique s’il a été nécessaire de mettre à jour le journal des modifications, car une CollectionChanged notification a été reçue sur un autre thread sans entrer au préalable le répartiteur de threads d’interface utilisateur.

Méthodes

CheckAccess()

Détermine si le thread appelant a accès à ce DispatcherObject.

(Hérité de DispatcherObject)
ClearChangeLog()
Obsolète.

Efface toutes modifications en attente du journal des modifications.

ClearPendingChanges()

Efface les modifications non traitées relatives à la collection.

Contains(Object)

Retourne une valeur qui indique si l'élément spécifié appartient à la vue.

DeferRefresh()

Entre dans un cycle différé que vous pouvez utiliser pour fusionner des modifications de la vue et retarder l’actualisation automatique.

DetachFromSourceCollection()

Supprime la référence à la collection sous-jacente de la CollectionView.

Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.

(Hérité de Object)
GetEnumerator()

Retourne un objet que vous pouvez utiliser pour énumérer les éléments de la vue.

GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetItemAt(Int32)

Récupère l'élément à l'index de base zéro spécifié dans la vue.

GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
IndexOf(Object)

Retourne l'index auquel l'élément spécifié est localisé.

MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
MoveCurrentTo(Object)

Définit l'élément spécifié de façon à ce qu'il soit l'CurrentItem de la vue.

MoveCurrentToFirst()

Définit le premier élément de la vue comme le CurrentItem.

MoveCurrentToLast()

Définit le dernier élément de la vue comme le CurrentItem.

MoveCurrentToNext()

Définit l'élément qui suit le CurrentItem dans la vue comme le CurrentItem.

MoveCurrentToPosition(Int32)

Définit l'élément situé à l'index spécifié comme devant être le CurrentItem de la vue.

MoveCurrentToPrevious()

Définit l'élément qui vient avant l'CurrentItem dans la vue en tant qu'CurrentItem.

OKToChangeCurrent()

Retourne une valeur qui indique si la vue peut changer d'élément CurrentItem.

OnAllowsCrossThreadChangesChanged()

Se produit quand la propriété AllowsCrossThreadChanges change.

OnBeginChangeLogging(NotifyCollectionChangedEventArgs)
Obsolète.

Appelée par la classe de base pour notifier la classe dérivée qu'un événement CollectionChanged a été publié à la file d'attente de messages.

OnCollectionChanged(NotifyCollectionChangedEventArgs)

Déclenche l’événement CollectionChanged.

OnCollectionChanged(Object, NotifyCollectionChangedEventArgs)

Déclenche l’événement CollectionChanged.

OnCurrentChanged()

Déclenche l’événement CurrentChanged.

OnCurrentChanging()

Déclenche un événement CurrentChanging qui ne peut pas être annulé.

OnCurrentChanging(CurrentChangingEventArgs)

Déclenche l'événement CurrentChanging à l'aide des arguments spécifiés.

OnPropertyChanged(PropertyChangedEventArgs)

Déclenche l'événement PropertyChanged à l'aide des arguments spécifiés.

PassesFilter(Object)

Retourne une valeur qui indique si l'élément de la collection sous-jacente spécifié appartient à la vue.

ProcessCollectionChanged(NotifyCollectionChangedEventArgs)

En cas de substitution dans une classe dérivée, traite une seule modification sur le thread d’interface utilisateur.

ProcessPendingChanges()

Garantit que toutes les modifications en attente applicables à la collection ont été validées.

Refresh()

Recrée la vue.

RefreshOrDefer()

Actualise la vue ou spécifie que la vue doit être actualisée lorsque le cycle différé se termine.

RefreshOverride()

Recrée la vue.

SetCurrent(Object, Int32)

Définit l'élément et l'index spécifiés comme valeurs des propriétés CurrentItem et CurrentPosition.

SetCurrent(Object, Int32, Int32)

Définit l'élément et l'index spécifiés comme valeurs des propriétés CurrentItem et CurrentPosition. Cette méthode peut être appelée à partir d'un constructeur d'une classe dérivée.

ToString()

Retourne une chaîne qui représente l'objet actuel.

(Hérité de Object)
VerifyAccess()

Garantit que le thread appelant a accès à DispatcherObject.

(Hérité de DispatcherObject)

Événements

CollectionChanged

Se produit lorsque la vue a changé.

CurrentChanged

Se produit après la modification de CurrentItem.

CurrentChanging

Se produit lorsque CurrentItem est en cours de modification.

PropertyChanged

Se produit lorsqu'une valeur de propriété a été modifiée.

Implémentations d’interfaces explicites

IEnumerable.GetEnumerator()

Retourne un objet IEnumerator que vous pouvez utiliser pour énumérer les éléments de la vue.

INotifyCollectionChanged.CollectionChanged

Se produit lorsque la vue a changé.

INotifyPropertyChanged.PropertyChanged

Se produit en cas de modification d'une valeur de propriété.

Méthodes d’extension

Cast<TResult>(IEnumerable)

Effectue un cast des éléments d'un IEnumerable vers le type spécifié.

OfType<TResult>(IEnumerable)

Filtre les éléments d'un IEnumerable en fonction du type spécifié.

AsParallel(IEnumerable)

Active la parallélisation d'une requête.

AsQueryable(IEnumerable)

Convertit un IEnumerable en IQueryable.

S’applique à