【发布时间】:2012-03-28 19:40:18
【问题描述】:
在 ListView 中,我希望所选项目始终可见(在当前视野中)。
示例: 我的 ListView 中有六个项目。只有(前)五个是可见的。 我选择第一项。当我向下滚动时,该项目不再可见,但仍处于选中状态。
我想取消选择超出当前视图的任何项目。
【问题讨论】:
-
什么是商业目的?为什么用户想要一个项目被取消选择只是因为它不在视野范围内。我认为您需要实现自己的滚动才能知道视图中的项目。
-
这是一个有效的问题。我(ab)使用 ListView 来实现它的功能。这不是最终用户与之交互的控件。
-
好的,但我更困惑。问题陈述就像您使用 ListView 作为 UI 控件一样。
-
您可能可以使用 VirtualMode true 并处理 RetrieveVirtualItem 但问题是调用可能发生在未显示的项目上,因为我认为它缓存了一些。 msdn.microsoft.com/en-us/library/…
-
我正在使用 ListView,但仅与另一个自定义控件协作,该控件响应任何选定的项目。因此,选择您看不到的项目是没有意义的。我已经编写了自己的逻辑来跟踪视图中的项目,并取消选择掉出的项目。顺便说一句,您提到的链接是针对 WinForms 的。不过还是谢谢你,感谢你的努力!