у меня в ViewModel
public string SearchPattern
{
get
{
return searchPattern;
}
set
{
searchPattern = value;
}
}
private bool UserFilter(object item)
{
return (item as Node).Name.Contains(SearchPattern);
}
public ICollectionView YourFilteredCollection
{
get
{
var source = CollectionViewSource.GetDefaultView(model.Items);
source.Filter = UserFilter;
return source;
}
}
YourFilteredCollection
зависит от Model
свойства
public ObservableCollection<Node> Items { get; set; }
Чем я решил отфильтровать подэлементы узла YourFilteredCollectionNodes
public class Node
{
public string Name { get; set; }
public ObservableCollection<Node> Nodes { get; set; }
public ICollectionView YourFilteredCollectionNodes
{
get
{
var source = CollectionViewSource.GetDefaultView(Nodes);
if (source != null)
{
source.Filter = UserFilter;
}
return source;
}
}
private bool UserFilter(object item)
{
//return (item as Node).Name.Contains(SearchPattern);
return true;
}
}
Но в этом случае как можно передать SearchPattern
из ViewModel в ObservableCollection
элемент, который находится в модели ??