В прошлом я использовал LINQ в раскрытом свойстве на ВМ, например:
/// <summary>
/// Get filtered results(by location)
/// </summary>
public ObservableCollection<SearchResultData> FilteredResults {
get
{
return new ObservableCollection<SearchResultData>(Results.Where(p => p.LocationId == CurrentLocation.Id));
}
}
При использовании этого подхода вам необходимо будет предоставить уведомление, когда базовая коллекция в LINQ изменится, например:
public ObservableCollection<SearchResultData> Results
{
get { return _results; }
set
{
_results = value;
NotifyOfPropertyChange(() => Results);
NotifyOfPropertyChange(() => FilteredResults);
}
}