LongListSelector加载项无限

时间:2014-03-03 14:28:49

标签: windows-phone-8 longlistselector

对于我的Windows Phone 8应用,我的数据提供商每页提供10个项目,我必须以LongListSelector显示结果。

  

我的第一个挑战是它提供了我解析为数组的JSON数据,所以我无法在我的longlistselector.ItemsSource中轻松添加项目。好吧,将通过observableCollection以某种方式完成。

     

第二个挑战是当用户向下滚动到第8或第9项时我必须加载第2页,依此类推,直到它返回小于10的项目。

我完成了ItemRealized事件,在加载时调用了所有10个项目,所以如果我加载第2页,它将在加载屏幕之前加载所有页面。

我已经检查了msdn的TwitterSearch示例,但不幸的是它的api已过期。有什么帮助吗?

修改

对于我的测试项目,项目模板如下。

                <phone:LongListSelector.ItemTemplate>
                <DataTemplate >
                    <ListBoxItem Margin="20">
                        <TextBlock FlowDirection="LeftToRight" Text="{Binding}"      Margin="0,10,0,0"  Foreground="#343330" FontSize="24"/>
                    </ListBoxItem>
                </DataTemplate>
            </phone:LongListSelector.ItemTemplate>

并且绑定在下面。

        ObservableCollection<string> data = new ObservableCollection<string>();
.
.
.
        IsLoading = true;
        for (int i = 0; i < 10; i++)
            data.Add(string.Format("item {0}", (pageNo * 10) + (i + 1)));
        pageNo++;
        IsLoading = false;

itemRealized事件在下面给出

    private void LongListSelector_ItemRealized(object sender, ItemRealizationEventArgs e)
    {
        //data.ItemCount = data.ItemCount + 1;
        itemCount++;
        if (itemCount < 100
            && reloadOnItem.Contains(itemCount))
        {
            loadData();
        }
    }

0 个答案:

没有答案