我们如何知道该元素在Windows Phone 8中可视化

时间:2013-03-18 13:40:15

标签: c# windows-phone-8

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

1 个答案:

答案 0 :(得分:0)

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

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