2010-12-08 4 views
0

우리의 응용 프로그램에는 검색 결과를 표시하는 시나리오가 있습니다. 검색 결과는 목록 또는 상세보기로 표시 될 수 있습니다. listview는 기본적으로 UI 가상화를 사용하므로 listview를 사용하고 있습니다.두 개의보기가있는 ListView

내 질문은 어떻게하면 응용 프로그램의 성능을 향상시킬 수 있습니까? 1) 두 개의 다른보기를 사용하여 단일 목록 제어를 유지합니다. 2) Listview 컨트롤을 사용하여 가시성 속성을 바인딩합니다.

검색 기록이 1000 이상으로 증가하면 목록보기와 상세보기 사이를 전환하는 데 많은 시간이 걸립니다.

두 번째 옵션에 대해 동일한 바인딩을 수행하고 가시성 속성을 설정해야합니다.

이 시나리오에서 사용할 수있는 방법이 더 좋으므로 알려 주시기 바랍니다.

감사합니다,

답변

0

질문입니다 : 당신이 정말보기의 모든 1000 개 요소를 표시해야합니까? 한 가지 가능한 최적화는 한 번에 100 개를로드 한 다음 사용자가보기의 끝에 도달하면 다른 100 개의 결과를로드하는 것일 수 있습니다.

1

두 번째 옵션을 사용하십시오.

사용자는 일반적으로보기를 변경하려고하면보기가 재설정 될 수 있다는 사실을 받아들입니다.

따라서 사용자에게 표시 될 때까지 다른 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