我有一个绑定(bind)到字符串列表的ListBox
。我想在TextBox
中输入文本时过滤列表。我该怎么做?
public void ListLoad()
{
ElementList = new List<string>(); // creation a list of strings
ElementList.Add("1"); // add a item of string
ElementList.Add("2"); // add a item of string
DataContext = this; // set the data context
}
我在XAML中将其绑定(bind)为:
ItemsSource="{Binding ElementList}"
最佳答案
CollectionViewSource类可以在这里提供帮助。据我所知,它具有过滤,排序和分组集合的许多功能。
ICollectionView view = CollectionViewSource.GetDefaultView(ElementList);
view.Filter = (o) => {return o;}//here is the lambda with your conditions to filter
当您不需要任何过滤器时,只需将
view.Filter
设置为null
即可。另请参阅filtering上的这篇文章