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 un affichage de collection pour une collection qui implémente IEnumerableuniquement, créez un CollectionViewSource objet, ajoutez votre collection à la Source propriété et obtenez l’affichage 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, une collection source peut avoir plusieurs vues 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 vues sur une collection d’objets Task pour afficher les tâches triées par priorité sur une partie de la page et regroupées par zone dans 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 la vue 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 la vue par défaut pour les collections qui implémentent IList. BindingListCollectionView est la vue 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 Comment : 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 est la représentation XAML de la CollectionView classe, et elle expose les membres les plus couramment utilisés de la CollectionView classe.
Constructeurs
| Nom | Description |
|---|---|
| CollectionView(IEnumerable) |
Initialise une nouvelle instance de la CollectionView classe qui représente une vue de la collection spécifiée. |
Propriétés
| Nom | Description |
|---|---|
| AllowsCrossThreadChanges |
Obtient une valeur qui indique si un thread autre que celui qui a créé le CollectionView peut modifier 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 comparer des éléments dans l’affichage. |
| 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 dans l’affichage. |
| CurrentPosition |
Obtient la position ordinale de la CurrentItem vue (éventuellement triée et filtrée). |
| Dispatcher |
Obtient ce Dispatcher qui DispatcherObject est associé. (Hérité de DispatcherObject) |
| Filter |
Obtient ou définit une méthode utilisée pour déterminer si un élément convient à l’inclusion dans la vue. |
| 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 construits en fonction de la GroupDescriptions propriété. |
| IsCurrentAfterLast |
Obtient une valeur qui indique si la CurrentItem vue dépasse la fin de la collection. |
| IsCurrentBeforeFirst |
Obtient une valeur qui indique si la CurrentItem vue est avant le début de la collection. |
| IsCurrentInSync |
Obtient une valeur qui indique si la valeur CurrentItem est à l’emplacement 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 résultante (filtrée) est vide. |
| IsInUse |
Obtient une valeur qui indique si un objet s’abonne aux événements de ce CollectionView. |
| IsRefreshDeferred |
Obtient une valeur qui indique s’il existe un état d’attente DeferRefresh() en cours d’utilisation. |
| NeedsRefresh |
Obtient une valeur qui indique si la vue doit être actualisée. |
| NewItemPlaceholder |
Obtient l’objet qui se trouve dans la collection pour représenter un nouvel élément. |
| SortDescriptions |
Obtient une collection de SortDescription structures qui décrit la façon dont les éléments de 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 d’abord entrer le répartiteur de threads d’interface utilisateur. |
Méthodes
| Nom | Description |
|---|---|
| CheckAccess() |
Détermine si le thread appelant a accès à ce DispatcherObjectfichier . (Hérité de DispatcherObject) |
| ClearChangeLog() |
Obsolète.
Efface les modifications en attente du journal des modifications. |
| ClearPendingChanges() |
Efface la modification non traitées de la collection. |
| Contains(Object) |
Retourne une valeur qui indique si l’élément spécifié appartient à la vue. |
| DeferRefresh() |
Entre un cycle de report que vous pouvez utiliser pour fusionner les modifications apportées à l’affichage et retarder l’actualisation automatique. |
| DetachFromSourceCollection() |
Supprime la référence à la collection sous-jacente de l’objet 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() |
Sert 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 la Type de l’instance actuelle. (Hérité de Object) |
| IndexOf(Object) |
Retourne l’index auquel se trouve l’élément spécifié. |
| MemberwiseClone() |
Crée une copie superficielle du Objectactuel. (Hérité de Object) |
| MoveCurrentTo(Object) |
Définit l’élément spécifié comme étant l’affichage CurrentItem . |
| MoveCurrentToFirst() |
Définit le premier élément de la vue en tant que CurrentItem. |
| MoveCurrentToLast() |
Définit le dernier élément de la vue en tant que CurrentItem. |
| MoveCurrentToNext() |
Définit l’élément après l’affichage CurrentItem en tant que CurrentItem. |
| MoveCurrentToPosition(Int32) |
Définit l’élément à l’index spécifié comme étant dans CurrentItem la vue. |
| MoveCurrentToPrevious() |
Définit l’élément avant l’affichage CurrentItem en tant que CurrentItem. |
| OKToChangeCurrent() |
Retourne une valeur qui indique si la vue peut modifier l’élément qui est le CurrentItem. |
| OnAllowsCrossThreadChangesChanged() |
Se produit lorsque la AllowsCrossThreadChanges propriété change. |
| OnBeginChangeLogging(NotifyCollectionChangedEventArgs) |
Obsolète.
Appelé par la classe de base pour notifier la classe dérivée qu’un CollectionChanged événement a été publié dans 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 CurrentChanging événement qui n’est pas annulable. |
| OnCurrentChanging(CurrentChangingEventArgs) |
Déclenche l’événement CurrentChanging avec les 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 spécifié dans la collection sous-jacente 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 de la collection ont été validées. |
| Refresh() |
Recrée la vue. |
| RefreshOrDefer() |
Actualise l’affichage ou spécifie que l’affichage doit être actualisé lorsque le cycle de report se termine. |
| RefreshOverride() |
Recrée la vue. |
| SetCurrent(Object, Int32, Int32) |
Définit l’élément et l’index spécifiés comme valeurs des propriétés et CurrentPosition des CurrentItem propriétés. Cette méthode peut être appelée à partir d’un constructeur d’une classe dérivée. |
| SetCurrent(Object, Int32) |
Définit l’élément et l’index spécifiés comme valeurs des propriétés et CurrentPosition des CurrentItem propriétés. |
| ToString() |
Retourne une chaîne qui représente l’objet actuel. (Hérité de Object) |
| VerifyAccess() |
Applique que le thread appelant a accès à ce DispatcherObjectfichier . (Hérité de DispatcherObject) |
Événements
| Nom | Description |
|---|---|
| CollectionChanged |
Se produit lorsque la vue a changé. |
| CurrentChanged |
Se produit une fois que le changement CurrentItem a été effectué. |
| CurrentChanging |
Se produit lorsque le changement CurrentItem est effectué. |
| PropertyChanged |
Se produit lorsqu’une valeur de propriété a changé. |
Implémentations d’interfaces explicites
| Nom | Description |
|---|---|
| IEnumerable.GetEnumerator() |
Retourne un IEnumerator objet 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 lorsqu'une valeur de propriété change. |
Méthodes d’extension
| Nom | Description |
|---|---|
| AsParallel(IEnumerable) |
Active la parallélisation d’une requête. |
| AsQueryable(IEnumerable) |
Convertit un IEnumerable en IQueryable. |
| Cast<TResult>(IEnumerable) |
Convertit les éléments d’un IEnumerable en type spécifié. |
| OfType<TResult>(IEnumerable) |
Filtre les éléments d’une IEnumerable en fonction d’un type spécifié. |