【问题标题】:Does LongListSelector make Lazy Load for us?LongListSelector 是否为我们进行延迟加载?
【发布时间】:2014-02-13 19:30:11
【问题描述】:

我在 windows phone 8 项目中,在这个项目中,我使用全景模板。在第一幅全景图中,我在长列表选择器中显示新闻。

首先,我展示了 15 条新闻,性能没有问题。但现在我显示 50 条新闻,并开始延长加载时间。

我的问题是,longlistselector 为我们做延迟加载,或者我们应该为它做一些事情,比如 Windows 商店。或者我的意思是,当我滚动底部时,它会得到小图片和标题?

我已经达到了 ItemRealized 和 UnRealized 事件。我应该关注他们吗?

顺便说一句,我没有正确使用 MVVM。我从 web api 获取数据并将其绑定到控件。

【问题讨论】:

  • 延迟加载是什么意思?性能不佳或延迟初始化对象aka lazy loading?其次,您可以展示一些代码,以便我们更好地帮助您。
  • 你知道一些移动应用程序会这样做吗?当您向下滚动时,会出现新的图片、标题,您滚动的次数越多,新的内容就会一次又一次地出现。我是说这个。

标签: c# wpf mvvm windows-phone-8


【解决方案1】:

您可以使用 OnItemRealized 事件实现延迟加载,看这里http://www.damirscorner.com/InfiniteScrollingWithIncrementalLoadingInWindowsPhone8.aspx

private void OnItemRealized(object sender, ItemRealizationEventArgs e)
{
    var longListSelector = sender as LongListSelector;
    if (longListSelector == null)
    {
        return;
    }

    var item = e.Container.Content;
    var items = longListSelector.ItemsSource;
    var index = items.IndexOf(item);

    if (items.Count - index <= 1)
    {
        //ask for more items and add theme here
    }
}

【讨论】:

  • 没关系,不要复制整个代码,只是获得灵感
  • 我不复制整个代码。在问这里之前,我用谷歌搜索并找到了该页面。如果你想这样说,你不必尝试在这里放一些文字和链接,不要试图将它们显示为答案。
  • 链接中的代码显示您使用 OnItemRealized 以及何时要求将更多项目添加到 LongListSelector
  • ItemRealized 方法(如在 windows phone store 中)加载 10 个图像并等待,加载 10 个图像并等待。我需要关于滚动槽底部时加载的帮助。无论如何,谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-11-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-20
相关资源
最近更新 更多