Nehmen wir also an, ich habe diese Klassen:
public class Person
{
public string Name { get; set; }
}
public class PersonCollection : ObservableCollection<Person> { }
Und sagen wir mal, ich habe eine ListView, deren ItemsSource an eine PersonCollection gebunden ist. Nun, sagen wir, ich habe diesen Code:
public void AddPeople()
{
Person p = new Person() { Name = "Someone" };
MyPersonCollection.Add(p);
MyPersonCollection.Add(p);
MyPersonCollection.Add(p);
}
So jetzt habe ich eine ListView mit drei Elementen, in denen alle drei Elemente Verweise auf das gleiche Objekt sind. Jetzt wähle ich also, sagen wir mal, Elemente mit Index 0 und 2 in der ListView aus.
Die ListView.SelectedItems-Eigenschaft sagt, dass ich EIN Element ausgewählt habe, da beide visuell ausgewählten Elemente das SELBE Objekt sind.
Wie kann ich also die visuell ausgewählten Elemente erhalten, so dass ich die Elemente bei den Indizes 0 und 2 entfernen kann, ohne das Element bei Index 1 zu entfernen?