2

在 windows phone 8 中,我正在显示项目列表(此列表可能包含任意数量的项目,可能是 40 或 50 ...)。当用户下拉我正在刷新上一个列表..所以用户可以通过下拉查看列表中的所有项目。现在我担心的是我想将这些项目标记为已读或未读,但我们如何知道这些项目是由用户可视化的,而我的列表框项目仅显示它们不可点击的文本。目前我正在使用Emulator WVGA 512MB,我可以在其中一次看到 5 个项目。

4

1 回答 1

0

如果项目的大小是固定的,那么您可以通过查看 ListBox 模板内的滚动查看器的滚动偏移量来确定它们是否在屏幕上。(通过 VisualTreeHelper 获取。)

事实上的约定是,如果不需要导航到单独的页面或以其他方式与其交互以将项目标记为已读,则一旦显示它们就会被标记为已读。
这适用于旧项目,但如果您在当前显示项目的顶部加载新项目,这可能会更难。如果您自己管理数据虚拟化,您可以根据项目的实现时间来执行此操作。如果你使用LongListSelector它会引发一个ItemRealized事件,你可以用它来检测它。

于 2013-03-18T18:22:16.197 回答