私はsolrから取得するItemsコントロールにいくつかのデータをバインドする必要があります。 Solrは速い結果を出しますが、バインディングには長い時間がかかります。とにかく、仮想化を実装してパフォーマンスを向上させることはできますか?もしそうなら、私がどこから始めることができるかを提案してください。WPF ItemControl仮想化
おかげ
私はsolrから取得するItemsコントロールにいくつかのデータをバインドする必要があります。 Solrは速い結果を出しますが、バインディングには長い時間がかかります。とにかく、仮想化を実装してパフォーマンスを向上させることはできますか?もしそうなら、私がどこから始めることができるかを提案してください。WPF ItemControl仮想化
おかげ
仮想化の2つのタイプがあります。
データ仮想 UIの仮想化
データの仮想化は、WPFコントロールによって実装されていませんが。これは、必要に応じてソースからデータをロードすること、ある種のバッチで構成されています。
UI仮想化は、既定でWPFコントロールに実装されています。それは、表示されているものだけをメモリにロードすることからなる。しかし、データバインディングシナリオでは、すべてのデータ構造がロードされます。
代替手段?
1)MVVMパターンを使用している場合、ViewModelには、Solrクエリの部分データが含まれているコレクションがある可能性があります。例えば、ページネーションのような最初の20の結果です。
2)あなたは、データグリッドにあなたのデータを公開している場合、私はあなたにInfragistics DataGrid for WPFを示唆し、それはデータ仮想化機能を内蔵し、コミュニティライセンス
を持っている私は、私はあなたを助けたことを願っ:)
ありがとうございます!もし私に質問がある場合は、私はあなたに戻ってきます –
私が以前に試したことは、私のデータテンプレート内の仮想化スタックパネルを使用しています。しかし、私のアプリケーションがクラッシュする! –
私の答えがあなたを助けてくれた場合は、回答を確認するか、+1を与えてください – quicoli