C#:如何在虚拟模式下有效地过滤(隐藏)ListView 项目?

标签 c# .net wpf listview

C#:如何在虚拟模式下有效过滤(隐藏)ListView 项?

我正在寻找一种在虚拟模式下过滤(隐藏/显示)ListView 中的项目的方法。我将我的项目缓存在 ListView 项目的数组中,我如何才能有效地做到这一点,以便在按下过滤器按钮时只显示特定的 ListView 项目,然后在按下非过滤器按钮时将所有项目都返回?

最佳答案

您需要映射您的可见行列表,以便当 RetrieveVirtualItem 请求一个项目时,它会请求到您的过滤列表中,该列表仅包含可见项目。

如果您使用 CacheVirtualItems 来存储 ListViewItems,您需要在应用过滤时更新缓存,删除所有不可见的行。您可能只想在此时清除缓存以降低复杂性。

关于C#:如何在虚拟模式下有效地过滤(隐藏)ListView 项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/982980/

相关文章:

c# - 比较整数的正确方法

.net - 如何使用 `HashAlgorithm.TransformBlock` 的输出参数?

c# - 对 WPF 事件触发器进行保护。这可能吗?

c# - MVVM、WPF 和验证

c# - CaSTLe Windsor & 命令模式

c# - Azure 数据库同步

C# MySQL 多行结果到组合框

c# - 数据绑定(bind)到 C# 中的对象

c# - NInject 单例 - 它们是在应用程序级别还是在 session 级别创建的?

c# - 带有转换器的 WPF 单选按钮 - 我的所有角色如何变成女性