Aracılığıyla paylaş


ListViewGroupCollection yöntemleri yeni InvalidOperationException oluşturur

Daha önce, InvalidOperationException sanal modda yöntemler çağrıldığında ve Handle önceden oluşturulmuşsa ListViewGroupCollection bir ListView oluşturuldu. .NET 6'dan başlayarak, bu ListViewGroupCollection yöntemler artık yalnızca sanal modda olup olmadığını ListView denetler. Bu durumda, daha açıklayıcı bir ileti içeren bir InvalidOperationException oluştururlar.

Önceki davranış

bir 'e ListViewekleyen ListViewGroup aşağıdaki kodu göz önünde bulundurun:

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

listView.Groups.Add(group1);

Bu kod aşağıdaki iletiyi içeren bir InvalidOperationException üretti:

ListView sanal moddayken, listeleyici kullanarak ListView öğeleri koleksiyonunda numaralandıramaz veya GetEnumerator'ı çağıramazsınız. Bunun yerine ListView öğeleri dizin oluşturucuyu kullanın ve bir öğeye dizin değerine göre erişin.

Yeni davranış

Önceki davranış bölümünde yer alan aynı kod aşağıdaki iletiyle bir InvalidOperationException oluşturur:

ListView sanal moddayken ListView grupları koleksiyonuna grup ekleyemezsiniz.

Kategoriyi değiştir

Bu değişiklik ikili uyumluluğu etkiler.

Değişiklik nedeni

Yeni InvalidOperationException ileti daha anlaşılır. Buna ek olarak, geliştiricinin oluşturulmadan önce Handle öğesine ListView ekleyebileceği ListViewGroup bir geçici çözümü kapatır.

Sürüm kullanıma sunulmuştur

.NET 6 RC 2

  • Kodunuzu gözden geçirin ve gerekirse bir sanal moda eklememesi ListViewGroup için ListView güncelleştirin.
  • Kodunuz özel durumları işlüyorsa InvalidOperationException , sanal modda olduğunu ListView yansıtacak şekilde iletiyi güncelleştirmeniz gerekebilir.

Etkilenen API’ler