我有一个列表视图,它是由用户输入的文本过滤。是否有办法从列表视图中获取可见项?
h4cxqtbf1#
如果您使用virtualization(或稍后介绍),任何依赖于列表项visible属性的解决方案都可能不会返回所有匹配过滤器的项。更可靠的解决方案可能是对基础集合重新运行 predicate 。
agxfikkp2#
为了达到您的目的,我提出以下解决方案:1.。在视图模型中创建一个列表,其中包含从数据源获取的所有数据。
var myList = new List<string>();
创建一个过滤列表,每当用户输入文本时都会获得该列表,您将根据输入的文本过滤数据。
var filteredList = myList.FindAll(myFilter);
其中myFilter是一种基于某些条件筛选数据的方法。3.将筛选列表绑定到列表视图控件的ItemsSource。因此,您可以访问当前显示的项目。
2条答案
按热度按时间h4cxqtbf1#
如果您使用virtualization(或稍后介绍),任何依赖于列表项visible属性的解决方案都可能不会返回所有匹配过滤器的项。
更可靠的解决方案可能是对基础集合重新运行 predicate 。
agxfikkp2#
为了达到您的目的,我提出以下解决方案:
1.
。在视图模型中创建一个列表,其中包含从数据源获取的所有数据。
创建一个过滤列表,每当用户输入文本时都会获得该列表,您将根据输入的文本过滤数据。
其中myFilter是一种基于某些条件筛选数据的方法。
3.
将筛选列表绑定到列表视图控件的ItemsSource。
因此,您可以访问当前显示的项目。