0

Windows Phoneでは、リストボックスはデータの仮想化をサポートします。つまり、必要なデータのみをロードでき、すべてをロードすることはできません。Peter Torrが、実装する必要のあるインターフェイスについて説明します。

短いバージョンでは、要素の位置を返すメソッドと、特定の位置にある要素を返すメソッドの両方を作成する必要があります。問題は、Peter Torrの例がかなり馬鹿げていることです。彼は、名前としてインデックスを持つオブジェクトを返すだけです。

私の質問は、これを実際にどのように実装するのかということです。

私の考えは、(整数)インデックスと(整数)IDのリストを含む1つのファイルと、実際のデータを含むすべてのオブジェクトのファイルを作成することです。あまりエレガントなアイデアではないようですが、これ以上のことは考えられませんね。

アップデート

私の質問は不正確なようです。Peter Torrの例が「かなり馬鹿げている」と言うとき、私は彼が何か間違ったことをしたと言っているのではありません。彼の目的は、実装する必要のあるインターフェイスを説明することだけでした。実際の実装は、特定のデータによって異なります。

私が求めているのは、これを実装するためにどのような選択が必要かということです。単純にデータをWebサービスに配置し、毎回クエリを実行し(もちろん、ローカルキャッシュを使用して)、データベースを構築し、インデックスを格納するファイルとデータ用のファイルを作成する必要がありますか?すべての場合に十分な解決策はありますか?すべての選択肢の欠点と利点は何ですか?

4

2 に答える 2

0

あなたはこれ以上何を求めていますか?一般的な考え方は、データが必要なときに ListBox が IList を呼び出すというものです。特定のインデックスでアイテムを要求し、オブジェクトを返します。次に、おそらくそのオブジェクトで ToString() を呼び出し、結果をリストに表示します。

その実際のオブジェクトが何であり、どこからそれを引き出すかは完全にあなた次第です。メモリ内で非常に大きな配列を使用している可能性があります。IsolatedStorage または Web サービスからプルしている可能性があります。確かにそれを使用してファイル情報を取得できますが、特定のプロジェクトに基づいて実装する必要がある部分であるため、誰かが既製の IList 実装を持っているとは思えません。

于 2010-10-22T19:49:45.573 に答える
0

リンク先の記事には、これを実装する方法を示すダウンロード可能なプロジェクトへのリンクが含まれています。

于 2010-10-22T16:34:23.967 に答える