2011-11-02 4 views
1

내 facebook 친구들과 함께 wrap 패널을 만들어야합니다. 즉, itemcount가 400 이상이고 모든 항목을로드하는 데 5-10 초가 걸립니다. WP7 용 WrapPanel 가상화

<ListBox.ItemsPanel> 
     <ItemsPanelTemplate> 
      <toolkit:WrapPanel/> 
     </ItemsPanelTemplate> 
    </ListBox.ItemsPanel> 

이 코드는 좋은 것, 그러나 1 행의 모든 ​​요소를두고

... :

<ListBox.ItemsPanel> 
     <ItemsPanelTemplate> 
      <VirtualizingStackPanel Orientation="Horizontal"/> 
     </ItemsPanelTemplate> 
    </ListBox.ItemsPanel> 

VirtualizingStackPanel에 wraping 항목을 추가하거나 어떻게하는 방법을 어떤 아이디어가 WrapPanel에 가상화 추가하려면 :

+0

사용할 수있는 VirtualizingWrapPanel의 버전은 [상용] (http://www.binarymission.co.uk/Products/WPF_SL/virtualizingwrappanel_wpf_sl.htm)입니다. 하지만 결코 사용하지 않았으므로 품질 보증을 할 수 없습니다. – CodeNaked

+0

이 작업을 수행하는 프로젝트가 있습니다. [이 링크] (http://virtualwrappanel.codeplex.com/)를 참조하십시오. – abhinav

+0

@ CodeNaked 예 무료 버전을 선호하지만 상용 버전을 직접 발견했습니다. –

답변

0

각 요소에 4 개의 이미지가있는 스택 패널이 포함 된 간단한 목록 상자를 만들어서 사용했습니다. 건배

+0

여기에서 : http://debugmode.net/2011/08/20/nested-listbox-binding-in-silverlight-and-windows-phone-7/ –

0

글쎄, WrapPanel의 전체적인 점은 콘텐츠의 크기에 맞춰 조정된다는 것입니다. 따라서 모든 항목을 렌더링하여 크기를 결정해야합니다.

그런 부분을 가상화 할 때 여러분은 운이 좋지 않을 것입니다. 그러나 400 개의 이미지를로드하는 경우 LowProfileImageLoader을 사용하여 로딩 속도를 대폭 향상시킬 수 있습니다.

LowProfileImageLoader source code on my GitHub의 미러를 찾을 수 있습니다.

+0

VirtualizingStackPanel에서 항목을 래핑하는 것보다 어떻습니까? 해결 방법이 있습니까? –