在没有MVVM的情况下更新LongListSelector ItemSource
本文关键字:更新 LongListSelector ItemSource 情况下 MVVM | 更新日期: 2023-09-27 18:29:06
我正在开发一个Windows Phone 8应用程序,该应用程序从Web服务获取数据并进行显示
我有一个绑定到LongListSelector的通知列表,当用户滚动到最后时,我想在其中显示更多项目:一个无限列表。
我搜索了很多,但在我的案例中没有找到任何解决方案,他们都谈到了Model、View、ViewModel架构。如果我要将Lists更改为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后立即显示它们吗??
为什么从Lists更改为ObservableCollections对您来说很困难?当您的列表在后台更新,并且您希望通知UI更新时,ObservableCollection是正确的方法。我已经写了两个关于从web服务增量加载数据的示例(示例中为500px)。
Windows Phone系列-在Pivot 内增量加载多个数据源
Windows Phone系列-增量加载
如果您不想更改为ObservableCollection,则必须手动更新UI绑定。