1

WindowsPhone7のデフォルトのカレンダーアプリに[]タブがあります。そのタブには、ListBox無限に、そして非常にスムーズにスクロールできるがあります。

バインディングソースを変更することを考えていますが、その方法がわかりません。

これを達成する方法はありますか?

4

1 に答える 1

0

カスタムIEnumeratorへのバインドを試すことができます。これを行う簡単な方法は、IEnumerableを返すメソッドを作成し、yield returnステートメントを使用して要素を返すことです。

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

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

次に、それをリストボックスに割り当てます。

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

リストボックスでデータ仮想化が有効になっていることを確認してください。そうすれば、アイテムをその場で読み込むことができます(リストボックスが無限のデータソース全体を一度に読み込もうとすると、明らかに機能しません)

于 2012-12-10T09:03:51.917 に答える