ListViewGroupCollection-methoden werpen een nieuwe InvalidOperationException

Eerder werd er een InvalidOperationException gegooid als ListViewGroupCollection methoden werden aangeroepen op een ListView in virtuele modus en de Handle al was gemaakt. Vanaf .NET 6 controleren deze ListViewGroupCollection methoden nu alleen of de ListView virtuele modus zich bevindt. Als dat zo is, gooien ze een InvalidOperationException met een meer beschrijvend bericht.

Vorig gedrag

Houd rekening met de volgende code waarmee een ListViewGroup aan een ListViewwordt toegevoegd:

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

listView.Groups.Add(group1);

Deze code heeft een InvalidOperationException met het volgende bericht geproduceerd:

Wanneer ListView zich in de virtuele modus bevindt, kunt u de verzameling ListView-items niet opsommen met behulp van een enumerator of GetEnumerator aanroepen. Gebruik in plaats daarvan de indexeerfunctie voor ListView-items en open een item op indexwaarde.

Nieuw gedrag

Dezelfde code uit de sectie Vorig gedrag produceert een InvalidOperationException met het volgende bericht:

U kunt geen groepen toevoegen aan de verzameling ListView-groepen wanneer de ListView zich in de virtuele modus bevindt.

Categorie wijzigen

Deze wijziging is van invloed op binaire compatibiliteit.

Reden voor wijziging

Het nieuwe InvalidOperationException bericht is begrijpelijker. Daarnaast wordt een omweg gesloten waarbij de ontwikkelaar een ListViewGroup aan de ListView kan toevoegen voordat de Handle wordt gemaakt.

Geïntroduceerde versie

.NET 6 RC 2

  • Controleer en werk, indien nodig, uw code bij, zodat deze geen ListViewGroup toevoegt aan een ListView in de virtuele modus.
  • Als uw code uitzonderingen afhandelt InvalidOperationException , moet u mogelijk het bericht bijwerken om aan te geven dat het zich in de ListView virtuele modus bevindt.

Betreffende API's