Yani bu sınıflara sahip olduğumu söyleyelim:WPF: Yinelenen nesne başvurusu olan SelectedItems
public class Person
{
public string Name { get; set; }
}
public class PersonCollection : ObservableCollection<Person> { }
Ve ItemsSource öğesinin bir PersonCollection'a bağlı bir ListView olduğunu söyleyebiliriz. Şimdi bu koda sahip olduğumu söyleyelim:
public void AddPeople()
{
Person p = new Person() { Name = "Someone" };
MyPersonCollection.Add(p);
MyPersonCollection.Add(p);
MyPersonCollection.Add(p);
}
Şimdi üç öğe içeren bir ListView'im var, bu üç öğenin de SAME nesnesine referansları var. Şimdi seçiyorum, ListView'de 0 ve 2 dizinlerine sahip öğeleri seçelim.
ListView.SelectedItems özelliği, görsel olarak seçilen öğeler her ikisi de SAME nesnesi olduğundan seçili bir öğe seçtiğimi söyleyecektir.
Görsel olarak seçilen öğeleri nasıl alabilirim, böylece öğeleri dizin 1'de kaldırarak 0 ve 2 dizinlerindeki öğeleri kaldırabilirim?
Çalıştığınız için teşekkürler. Sanallaştırma ile ilgili ne demek istediğinizden emin değilim, ama yaptığımız basit proje ile bu bizim için yeterli olacaktır. Teşekkürler. – Nick
Demek istediğim, bazen öğeler koleksiyonundaki her Kişinin sanallaştırma nedeniyle bir ListViewItemine sahip olmamasıdır. ListView'de ilk kişiyi seçerseniz, o zaman kaybolacaktır, böylece ItemContainerGenerator.ContainerFromIndex (0) çağrısının null olması mümkündür. –