0

我正在构建一个基于 jscript 的 Windows 8 Metro 应用程序。这个应用程序的主屏幕是一个滚动的“全景”视图,其中有几个列表视图显示了应用程序状态的各个方面。在某些情况下,用户会在页面上选择某些内容,从而导航到另一个页面(使用 WinJS.Navigation.navigate 方法。

当用户点击另一个页面上的后退箭头时,它返回到主屏幕,我使用“scrollIntoView”将屏幕定位到用户在导航发生之前正在处理的部分。

不幸的是,这几乎不会导致正确定位视图。似乎是随机的。我怀疑页面还没有完成构建,并且滚动值是根据某个快照的状态设置的。

现在的问题:

WinJS ListView 对象是否会通知它们已完全呈现和布局?或者这是页面就绪功能的工作?

感谢您的任何见解!

4

1 回答 1

2

并排放置多个列表视图不是一个好主意(TM)。我建议放置一个列表视图,并将您的内容放在分组数据源中以获取组。如果项目有不同的模板,那么您可以使用自定义项目模板选择器来动态选择模板。

此外,为了确保列表视图滚动到正确的位置,您需要使用indexOfFirstVisible来设置名称所暗示的项目。

于 2012-08-16T22:24:23.247 回答