我已经实现了自定义LongListSelector控件,当用户点击列表顶部时,该控件会发送事件。引发事件时,我从web api加载更多数据,并将项目添加到集合的开头,如下所示:
private ObservableCollection<Item> _items;
public ObservableCollection<Item> Items
{
get { return _items; }
set
{
_items = value;
NotifyOfPropertyChange(() => Items);
}
}
...
foreach (Item newItem in newItemsToAdd)
{
this.Items.Insert(0, newItem);
}
这导致用户滚动到列表顶部并且我向集合(列表)添加更多项目的情况,LongListSelector将其位置更新到新项目的顶部。
当我将项目添加到集合的开头时,如何防止LongListSelector更改其滚动位置?