2016-05-13 30 views
0

私はsolrから取得するItemsコントロールにいくつかのデータをバインドする必要があります。 Solrは速い結果を出しますが、バインディングには長い時間がかかります。とにかく、仮想化を実装してパフォーマンスを向上させることはできますか?もしそうなら、私がどこから始めることができるかを提案してください。WPF ItemControl仮想化

おかげ

答えて

0

仮想化の2つのタイプがあります。

データ仮想 UIの仮想化

データの仮想化は、WPFコントロールによって実装されていませんが。これは、必要に応じてソースからデータをロードすること、ある種のバッチで構成されています。

UI仮想化は、既定でWPFコントロールに実装されています。それは、表示されているものだけをメモリにロードすることからなる。しかし、データバインディングシナリオでは、すべてのデータ構造がロードされます。

代替手段?

1)MVVMパターンを使用している場合、ViewModelには、Solrクエリの部分データが含まれているコレクションがある可能性があります。例えば、ページネーションのような最初の20の結果です。

2)あなたは、データグリッドにあなたのデータを公開している場合、私はあなたにInfragistics DataGrid for WPFを示唆し、それはデータ仮想化機能を内蔵し、コミュニティライセンス

を持っている私は、私はあなたを助けたことを願っ:)

+0

ありがとうございます!もし私に質問がある場合は、私はあなたに戻ってきます –

+0

私が以前に試したことは、私のデータテンプレート内の仮想化スタックパネルを使用しています。しかし、私のアプリケーションがクラッシュする! –

+0

私の答えがあなたを助けてくれた場合は、回答を確認するか、+1を与えてください – quicoli

関連する問題