LongListSelector是否为我们做了延迟加载?

时间:2014-01-23 10:07:43

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

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

首先,我显示了15条新闻,没有什么是性能问题。但是现在我展示了50条新闻并开始让我的思考加载时间更长。

我的问题是,longlistselector为我们做了延迟加载,或者我们应该像windows存储一样为它做些什么。或者我的意思是,当我滚动底部时,它会获得小图片和标题?

我已经达到了ItemRealized和UnRealized事件。我应该专注于它们吗?

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

1 个答案:

答案 0 :(得分: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
    }
}