Я не знаю, как удалить только выбранные элементы. Но создание метода расширения прямолинейно:
public static class ExtensionMethods
{
public static int Remove<T>(
this ObservableCollection<T> coll, Func<T, bool> condition)
{
var itemsToRemove = coll.Where(condition).ToList();
foreach (var itemToRemove in itemsToRemove)
{
coll.Remove(itemToRemove);
}
return itemsToRemove.Count;
}
}
Это удаляет все элементы из ObservableCollection
, которые соответствуют условию. Вы можете так называть:
var c = new ObservableCollection<SelectableItem>();
c.Remove(x => x.IsSelected);