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

时间:2011-12-11 14:35:47

标签: wpf xml binding listbox

我已经用xml数据填充了我的listbox1(XML Binding WPF)。我有一个文本框,它应该过滤我在listbox中填充的值。因为我从XML绑定我不能使用IndexOf函数或listbox1.items [ i] .ToString()在for循环中。

任何想法如何使它成为可能?

1 个答案:

答案 0 :(得分:0)

如果您的列表框绑定到继承自IList的集合,您可以在后面的代码中获取ListCollectionView,如下所示...

ListCollectionView lcv = CollectionViewSource.GetDefaultView(lv1.ItemsSource)作为ListCollectionView;

其中'lv1'是项目控件的名称。获得此内容后,您可以使用类似这样的谓词设置其“过滤器”属性...

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

谓词可以采用lambda表达式的形式,将对集合中的每个项目进行评估。在您的情况下,谓词会将集合的每个成员与文本框中的值进行比较并返回结果。它只能返回真或假...