在scrollviewer中保持位置

问题描述

| 我的问题是我有一个数据绑定的ItemsControl,列表中显示了一些数据,用户可以上下滚动。 将新项目添加到列表时(即用户刷新列表),滚动位置将根据存在的新项目的数量而移动。有没有办法在添加新项目时保持滚动位置? 谢谢     

解决方法

        如果在ListBoxTombstoner.cs类[1]中查看Codeplex上的TombStone Helper项目,您将找到代码,该代码可让您使用列表框的基础ScrollViewer并获取其VerticalOffset属性。 然后,您可以根据需要操作该属性-如果希望在添加项目时移动滚动位置,则可以添加该属性,也可以保持不变。 [1] http://tombstonehelper.codeplex.com/SourceControl/changeset/view/e737b2a34421#TombstoneHelper%2fListBoxTombstoner.cs     ,        尝试在ListBox上设置
IsSynchronizedWithCurrentItem=\"True\"
    ,        假设所有项目的高度都是固定的,那么添加之后您应该能够调整ScrollOffset,并确保考虑到添加项目的数量。