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
Önerilen eylem
- 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
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin