Wpf 如何在XML绑定的列表框中搜索?

Wpf 如何在XML绑定的列表框中搜索?,wpf,xml,binding,listbox,Wpf,Xml,Binding,Listbox,我已经用xml dataXML绑定WPF填充了我的listbox1。我确实有一个文本框,它应该过滤在我的listbox中填充的值。因为我是从xml绑定的,所以我不能在for循环中使用IndexOf函数或listbox1.items[I].ToString 您知道如何使之成为可能吗???如果您的listbox绑定到从IList继承的集合,您可以在代码中获得ListCollectionView,如下所示 ListCollectionView lcv=CollectionViewSource.GetD

我已经用xml dataXML绑定WPF填充了我的listbox1。我确实有一个文本框,它应该过滤在我的listbox中填充的值。因为我是从xml绑定的,所以我不能在for循环中使用IndexOf函数或listbox1.items[I].ToString


您知道如何使之成为可能吗???

如果您的listbox绑定到从IList继承的集合,您可以在代码中获得ListCollectionView,如下所示

ListCollectionView lcv=CollectionViewSource.GetDefaultViewlv1.ItemsSource作为ListCollectionView

其中“lv1”是控件项的名称。一旦获得它,您就可以使用如下谓词设置它的“Filter”属性

lcv.Filter=obj=>Convert.ToInt32obj%2==0;//仅选择偶数


谓词可以采用lambda表达式的形式,该表达式将为集合中的每个对象求值。在您的例子中,谓词会将集合的每个成员与文本框中的值进行比较,并返回一个结果。它只能返回真或假

你觉得下面贴的答案合适吗?