我正在开发一个Windows Phone 8应用程序,它从Web服务获取数据并显示它。
我有一个绑定到LongListSelector的通知列表,我希望在用户滚动到结尾时显示更多项目:无限列表。
我经常搜索,但在我的案例中我找不到任何解决方案,他们都谈论模型,视图,ViewModel架构。如果我将我的列表更改为ObservableCollections,我必须重复我的大部分工作。
我的实际代码是:
private async void NotificationList_ItemRealized(object sender, ItemRealizationEventArgs e)
{
if (NotificationList.ItemsSource == null) return;
int currentItemsCount = NotificationList.ItemsSource.Count;
if (currentItemsCount >= _offsetKnob && e.Container != null)
{
var list = await LoadDataAsync(++page);
foreach (var notification in list)
{
NotificationList.ItemsSource.Add(notification);
}
}
}
元素被添加到列表中但没有显示,是否有任何解决方案可以在新项目添加到LongListSelector后立即显示?
答案 0 :(得分:1)
为什么从列表更改为ObservableCollections很难?当您的列表在后台更新并且您想要通知UI有关更新时,ObservableCollection是正确的方法。 我已经为Web服务的增量加载数据编写了2个样本(样本中为500px)。
Windows Phone Series – Incremental Loading multiple data sources inside a Pivot
Windows Phone Series – Incremental Loading
如果您不想更改为ObservableCollection,则必须手动更新UI绑定。