2010-12-08 22 views
0

アプリケーションでは、検索結果を表示するシナリオがあります。検索結果は、リストまたは詳細ビューとして表示できます。 listviewはデフォルトでUI仮想化を使用しているため、listviewを使用しています。2つのビューを持つListView

ここで私のアプリケーションのパフォーマンスを改善する方法はありますか? 1)異なる2つのビューで1つのリストコントロールを保持する。 2)2つのリストビューコントロールを使用して、可視性プロパティをバインドします。

最初のオプションを使用すると、検索レコードが1000を超えて増加すると、リストと詳細ビューを切り替えるのに多くの時間がかかります。

第2のオプションでは、同じバインディングを実行してvisibilityプロパティを設定する必要があります。

このシナリオで使用できるアプローチを提案してください。

ありがとう、

答えて

0

質問:本当にすべての要素を表示する必要がありますか? 1つの可能な最適化は、一度に100個をロードするだけでよく、その後、ユーザーがビューの最後に到達すると、さらに100個の結果をロードすることができます。

1

2番目のオプションを使用します。

ユーザーは通常、ビューを変更しようとするとビューがリセットされる可能性があることを受け入れます。

したがって、ユーザーに表示されるまで、ListViewにデータを入力しないでください。

そしてMarvinが正しいですが、多くのデータを同時に表示することはお勧めできません。それを防ぐには、Virtualizationを使用してください。

+0

皆さん、データ仮想化を実装するための良いリンクを提案できますか?それはまっすぐではないようです。 – Fatema

+0

http://www.codeproject.com/KB/WPF/WpfDataVirtualization.aspx – decyclone

+0

http://www.kirupa.com/net/ui_virtualization_pg1.htm – decyclone

関連する問題