Не знаком с MVVM Light, но я почти уверен, что вы говорите о стандартных битах фреймворка WPF.
Свойство Filter
в ICollectionView
- это Predicate<object
>, которое вы можете установить для данного метода в вашей модели представления, который будет вызываться каждый раз, когда необходимо выполнить Filter
.
Одним из способов достижения этого является определение вашего ICollectionView
как свойства внутри ViewModel, которое связано с вашим View.
private ICollectionView _view;
public ICollectionView Data
{
get
{
if (_view == null)
{
_view = CollectionViewSource.GetDefaultView(someCollection);
_view.Filter = Filter;
}
return _view;
}
}
private bool Filter(object arg)
{
//arg is the object being filtered on to make the decision of
//it being included in the returned ICollectionView
return true;
}
Это позволяет всей логике оставаться в ViewModel, которая, как я считаю, является вашей конечной целью.