如何从Observable Collection中获取十个,十个项目?

维杰

我试图在Windows Phone 7列表框中每页加载十个项目。当我滚动到列表框的末尾时,应该再加载10个项目。我尝试了一个简单的刺痛。我已经做到了。当我尝试加载原始的可观察集合时,我无法获得10,10项。

我有这样的尝试:

    void AddMoreItems()
    {
        int start = items.Count;
        int end = start + 10;
        for (int i = start; i < end; i++)
        {
            items.Add("Item " + i);
        }
    }

在这里我可以每页加载10、10个项目。

现在,我尝试使用可观察的集合:

int end = 10;
int start = 0;
int total = listForLoading.Count;

void AddMoreItems()
{
    if (total > 0)
    {
        int i = start;
        foreach (var item in StudentDetails)
        {
            if (i < end)
            {
                items.Add(new ListBoxWithButtonModel() { FirstName = item.FirstName,LastName = item.LastName,Age = item.Age,PersonImage=item.PersonImage });                       
                i++;
            }
        }
        total = total > 10 ? total - 10 : total - total;
        start = items.Count;
        end = total > 10 ? start + 10 : start + total;
    }
}

在这里,我一次又一次得到相同的物品。添加到列表框中后,我试图从集合中删除项目。但是我出错了。

请让我有任何想法从可观察的集合中加载10到10个项目。

吉姆·米歇尔

问题是,foreach总是从列表的开头开始,但是您没有在列表的开头开始计数器。您可以使用以下方法简化代码:

int taken = 0;  // number of items already taken
int totalToTake = listForLoading.Count;

void AddMoreItems()
{
    if (taken >= totalToTake) return;  // all taken

    int i = 0;
    int stopi = taken+10;
    foreach (var item in StudentDetails)
    {
        if (i >= taken && i < stopi)
        {
            // add your item here

            // and then increment the number taken
            taken++;
        }
        ++i;
    }
 }

您可以使用以下方法进一步简化操作:

    var itemsToTake = StudentDetails.Skip(taken).Take(10);
    foreach (var item in itemsToTake)
    {
        // add your item here

        // and then increment the number taken
        taken++;
    }

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用AWSDynamoDBQueryExpression获取十个最近添加的项目?

来自分类Dev

如何在Python中列出所有其他十个数字

来自分类Dev

如何快速(尽可能快)从一个很大的目录中列出十个文件,任何文件?

来自分类Dev

第二个十个字节如何而不是20个呢?

来自分类Dev

如何在大型mysql数据库中为十个站点选择不同的记录

来自分类Dev

如何为大型数据集中的每十个数字中的一组计算模式(统计)

来自分类Dev

如何绘制一个分为十个部分的圆?

来自分类Dev

如何防止Angular2核心在页面加载时发出数十个HTTP请求?

来自分类Dev

如何返回对十个字符串的数组的引用

来自分类Dev

插入行时如何平均十个以下的单元格

来自分类Dev

如何使用外键删除与十个表相关的记录

来自分类Dev

每次为数组中的每十个项目运行十个线程

来自分类Dev

如何将值从十个不同的片段存储到一个类并将值从类中检索到一个活动

来自分类Dev

如何在不多次填充其中一个元素的情况下填充 2D 数组中的十个随机元素?

来自分类Dev

如何创建一个从一组设备返回最后十个文档的视图?

来自分类Dev

在Java中,如何构造for循环以查找输入的十个值的最大值和最小值。我目前收到此程序未输出的信息

来自分类Dev

如何为SQL Server列创建默认值以仅插入NEWID()的最后十个字符?

来自分类Dev

十个最近的记录

来自分类Dev

十个最近的记录

来自分类Dev

当我的第十个也是最后一个问题得到回答后,如何停止计时器?

来自分类Dev

使用R查找文本中的前十个单词

来自分类Dev

R数据框中的十个最高列值

来自分类Dev

R中十个矩阵的重复动作

来自分类Dev

获取Javascript中具有最高值的前十个var

来自分类Dev

Android:如何在当月启动应用程序时显示特定选项卡,例如,如果当月是十月,则必须显示第十个选项卡,依此类推

来自分类Dev

从数十个df.sum()系列中创建一个新的数据框

来自分类Dev

从数十个df.sum()系列中创建一个新的数据框

来自分类Dev

数十个Ubuntu One冲突文件

来自分类Dev

PostgreSQL-“十个最常见的条目”

Related 相关文章

  1. 1

    如何使用AWSDynamoDBQueryExpression获取十个最近添加的项目?

  2. 2

    如何在Python中列出所有其他十个数字

  3. 3

    如何快速(尽可能快)从一个很大的目录中列出十个文件,任何文件?

  4. 4

    第二个十个字节如何而不是20个呢?

  5. 5

    如何在大型mysql数据库中为十个站点选择不同的记录

  6. 6

    如何为大型数据集中的每十个数字中的一组计算模式(统计)

  7. 7

    如何绘制一个分为十个部分的圆?

  8. 8

    如何防止Angular2核心在页面加载时发出数十个HTTP请求?

  9. 9

    如何返回对十个字符串的数组的引用

  10. 10

    插入行时如何平均十个以下的单元格

  11. 11

    如何使用外键删除与十个表相关的记录

  12. 12

    每次为数组中的每十个项目运行十个线程

  13. 13

    如何将值从十个不同的片段存储到一个类并将值从类中检索到一个活动

  14. 14

    如何在不多次填充其中一个元素的情况下填充 2D 数组中的十个随机元素?

  15. 15

    如何创建一个从一组设备返回最后十个文档的视图?

  16. 16

    在Java中,如何构造for循环以查找输入的十个值的最大值和最小值。我目前收到此程序未输出的信息

  17. 17

    如何为SQL Server列创建默认值以仅插入NEWID()的最后十个字符?

  18. 18

    十个最近的记录

  19. 19

    十个最近的记录

  20. 20

    当我的第十个也是最后一个问题得到回答后,如何停止计时器?

  21. 21

    使用R查找文本中的前十个单词

  22. 22

    R数据框中的十个最高列值

  23. 23

    R中十个矩阵的重复动作

  24. 24

    获取Javascript中具有最高值的前十个var

  25. 25

    Android:如何在当月启动应用程序时显示特定选项卡,例如,如果当月是十月,则必须显示第十个选项卡,依此类推

  26. 26

    从数十个df.sum()系列中创建一个新的数据框

  27. 27

    从数十个df.sum()系列中创建一个新的数据框

  28. 28

    数十个Ubuntu One冲突文件

  29. 29

    PostgreSQL-“十个最常见的条目”

热门标签

归档