我正在寻找可以从 ObservableCollection 中删除所选项目的 Linq 方式(例如 List 的 RemoveAll 方法)。
我太新了,无法为自己创建扩展方法。有什么方法可以通过 Lambda 表达式从 ObservableCollection 中删除项目吗?
我不知道如何仅删除选定的项目。但创建扩展方法很简单:
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);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)