Допустим, у меня есть следующие классы:
public class Person
{
public string Name { get; set; }
}
public class PersonCollection : ObservableCollection<Person> { }
И скажем, у меня есть ListView, у которого ItemsSource связан с PersonCollection. Теперь допустим, у меня есть этот код:
public void AddPeople()
{
Person p = new Person() { Name = "Someone" };
MyPersonCollection.Add(p);
MyPersonCollection.Add(p);
MyPersonCollection.Add(p);
}
Итак, теперь у меня есть ListView с тремя элементами, в которых все три элемента являются ссылками на один и тот же объект. Итак, теперь я выбираю, скажем, элементы с индексами 0 и 2 в ListView.
Свойство ListView.SelectedItems скажет, что я выбрал ОДИН элемент, поскольку оба визуально выбранных элемента - ОДИН И ТОТ ЖЕ объект.
Так как я могу получить визуально выбранные элементы, чтобы я мог удалить элементы с индексами 0 и 2, не удаляя элемент с индексом 1?