CollectionView Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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
- 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. |