如何滚动到Windows Phone 7中ListBox的顶部?

时间:2011-10-03 19:00:48

标签: windows-phone-7 listbox

我有一个将数据绑定到的ListBox。但是,在将数据绑定到ListBox之后,滚动位置一直在底部。我需要让滚动位置到达顶部。

我在互联网上搜索了一种方法如下。

listBox.ScrollIntoView(lastItemIndex);
listBox.UpdateLayout();
listBox.ScrollIntoView(firstItemIndex);

这种方法按预期工作,但是,当我绑定甚至只有20到30个项目时,listBox.UpdateLayout()调用在我的开发手机上大约需要+4秒(1 GHz Qualcomm,8 GB内部存储器)。

无论如何都可以获得我想要的效果(以编程方式滚动到顶部)而无需如此昂贵的操作?我不能指定如何在绑定时滚动到顶部?

感谢您的帮助。

3 个答案:

答案 0 :(得分:3)

listbox.ScrollIntoView(listbox.Items.First());

答案 1 :(得分:2)

回答有关访问内部滚动查看器的上述后续问题 - 请参阅以下答案:

horizontal offset for scrollviewer in gridview C#

答案 2 :(得分:1)

您需要在ListBox的内部ScrollViewer上调用ScrollToVerticalOffset