可过滤的集合mvvm

时间:2011-07-29 11:52:24

标签: c# silverlight-4.0 mvvm collections

C#的Filterable Collection有什么好的实现吗?

需要什么:

var data = GetEmployees();

_filtered = new FilterableCollection<Employee>(data);
_filtered.SetFilterExpression(empl => empl.DepartmentId == SelectedDepartment.Id);

...

set
{
  SelectedDepartment = value;
  _filtered.UpdateRepresentation();
}

Paging,CustomFilterBuilder和Virtualization将是一个优势,但目前不是必需的。

1 个答案:

答案 0 :(得分:2)

我不确定你为什么需要这个...... WPF已经通过ICollectionView界面支持了这一点。

ICollectionView view = CollectionViewSource.GetDefaultView(data);
view.Filter = o => ((Employee)o).DepartmentId == SelectedDepartment.Id;