在scrollviewer中保持位置

时间:2011-05-29 16:05:17

标签: c# silverlight windows-phone-7

我的问题是我有一个数据绑定的ItemsControl,列表中显示了一些数据,用户可以上下滚动。

当向列表添加新项目(即用户刷新列表)时,滚动位置根据许多新项目移动。有没有办法在添加新项目时保持滚动位置?

由于

3 个答案:

答案 0 :(得分:1)

如果您在ListBoxTombstoner.cs类[1]中查看Codeplex上的TombStone Helper项目,您将找到允许您获取列表框的基础ScrollViewer并获取其VerticalOffset属性的代码。

然后,您可以根据需要操作此属性 - 如果您希望滚动位置在添加项目时移动,或者保持相同,则可以添加它。

[1] http://tombstonehelper.codeplex.com/SourceControl/changeset/view/e737b2a34421#TombstoneHelper%2fListBoxTombstoner.cs

答案 1 :(得分:0)

尝试在ListBox上设置IsSynchronizedWithCurrentItem="True"

答案 2 :(得分:0)

假设所有项目都是固定高度,您应该能够在添加后调整ScrollOffset - 确保考虑添加项目的数量。