【问题标题】:WP7 how to make endless listboxWP7如何制作无尽的列表框
【发布时间】:2014-02-08 23:02:24
【问题描述】:

我看到 Windows Phone 7 中的默认日历应用程序有一个 Day 标签。在那个标签中是一个ListBox,可以无休止地滚动,而且非常流畅。

我正在考虑更改它的绑定源,但不知道该怎么做。

有没有办法做到这一点?

【问题讨论】:

标签: windows-phone-7 listbox


【解决方案1】:

您可以尝试绑定到自定义 IEnumerator。一个简单的方法是创建一个返回 IEnumerable 的方法,然后使用 yield return 语句返回元素:

public IEnumerable<int> GetDataSource()
{
    int i = 0;

    while (true)
    {
        yield return i++;
    }
}

然后将其分配给您的列表框:

this.ListBox.ItemsSource = this.GetDataSource();

只需确保在列表框上启用了数据虚拟化,以便可以动态加载项目(如果列表框尝试一次加载整个无限数据源,显然无法正常工作)

【讨论】:

  • 你是指 UI 虚拟化还是数据虚拟化?
  • 我不确定您所说的 UI 虚拟化是什么意思。假设您需要使用VirtualizingStackPanel
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-29
  • 2012-05-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多