gpt4 book ai didi

c# - 在没有 MVVM 的情况下更新 LongListSelector ItemSource

转载 作者:行者123 更新时间:2023-12-03 10:37:53 26 4
gpt4 key购买 nike

我正在开发一个从 Web 服务获取数据并显示它的 Windows Phone 8 应用程序。

我有一个绑定(bind)到 LongListSelector 的通知列表,当用户滚动到末尾时,我想在其中显示更多项目:一个无限列表。

我搜索了很多,但在我的案例中没有找到任何解决方案,它们都在谈论模型、 View 、 View 模型架构。如果我将列表更改为 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 是正确的方法。
我已经编写了 2 个关于来自 Web 服务的增量加载数据的示例(示例中为 500px)。

Windows Phone Series – Incremental Loading multiple data sources inside a Pivot

Windows Phone Series – Incremental Loading

如果您不想更改为 ObservableCollection,则必须手动更新 UI 绑定(bind)。

关于c# - 在没有 MVVM 的情况下更新 LongListSelector ItemSource,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18465236/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com