WPF ListView筛选过的项

3

我有一个列表视图,它根据用户输入的文本进行过滤。

是否有办法获取列表视图中可见的项?


你能否发布一些代码,这样我们就可以看到你是如何进行过滤的?谢谢! - Kieren Johnstone
2个回答

2
如果您正在使用虚拟化(或稍后引入它),那么任何依赖于列表项可见属性的解决方案可能无法返回与您的过滤器匹配的所有项。
更可靠的解决方案可能是针对基础集合重新运行谓词。

1
为了实现您想要的功能,我提出以下解决方案:
1.
在您的视图模型中,创建一个包含从数据源获取的所有数据的列表。
var myList = new List<string>();

2.

创建一个过滤列表,每当用户输入文本时就会获得该列表,并且您将根据输入的文本对数据进行过滤。

var filteredList = myList.FindAll(myFilter);

其中myFilter是一种基于某些条件过滤数据的方法。

3.

将筛选后的列表绑定到列表视图控件的ItemsSource上。

这样,您就可以访问当前显示的项目。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接