Les méthodes ListViewGroupCollection lèvent une nouvelle exception InvalidOperationException

Auparavant, une exception InvalidOperationException était levée si des méthodes ListViewGroupCollection étaient appelées sur ListView en mode virtuel et si Handle avait déjà été créé. À compter de .NET 6, ces méthodes ListViewGroupCollection vérifient maintenant uniquement si l’élément ListView est en mode virtuel. Si c’est le cas, elles lèvent une exception InvalidOperationException associée à un message plus descriptif.

Comportement précédent

Considérez le code suivant qui ajoute un ListViewGroup à un ListView :

ListViewGroup group1 = new ListViewGroup
{
    Header = "CollapsibleGroup1",
    CollapsedState = ListViewGroupCollapsedState.Expanded
};

listView.Groups.Add(group1);

Ce code produisait une exception InvalidOperationException avec le message suivant :

Lorsque ListView est en mode virtuel, vous ne pouvez pas énumérer la collection d’éléments ListView à l’aide d’un énumérateur ou appeler GetEnumerator. Utilisez l’indexeur d’éléments ListView à la place et accédez à un élément par valeur d’index.

Nouveau comportement

Le même code de la section Comportement précédent génère une exception InvalidOperationException avec le message suivant :

Vous ne pouvez pas ajouter de groupes à la collection de groupes ListView lorsque ListView est en mode virtuel.

Modifier la catégorie

Cette modification affecte la compatibilité binaire.

Raison du changement

Le nouveau message InvalidOperationException est plus compréhensible. En outre, il clôture une solution de contournement dans laquelle le développeur pouvait ajouter un ListViewGroup à la ListView avant la création de Handle.

Version introduite

.NET 6 RC 2

  • Effectuez une vérification et, si nécessaire, mettez à jour votre code afin qu’il n’ajoute pas de ListViewGroup à ListView en mode virtuel.
  • Si votre code gère des exceptions InvalidOperationException, vous devrez peut-être mettre à jour le message pour refléter que ListView est en mode virtuel.

API affectées