2012-08-31 3 views
0

중첩 된 ListBox와 문자열이 포함 된 간단한 응용 프로그램을 만들었습니다. 만약 내가 정말 빠르게 스크롤 - 빈 spaces.Can 내가 렌더링 속도를 높일 수 또는 어떻게 든 ListBox에서 스크롤 속도를 늦출 수 있습니까?WP7 목록 스크롤

+1

왜 물어볼 수 있습니까? 사용자가 "정말로 빠름"으로 스크롤하는 정보를 실제로 이해합니까? – Patrick

답변

0

스크롤 할 때 검은 색으로 나타나는 현상을 극복하기 위해 스크롤 컨트롤을 가상화해야합니다. 이를 위해서는 IList를 상속 받아 ObservableCollection과 비슷한 컬렉션을 만들어야합니다. ObservableCollection에서는 캐싱 요구 사항에 따라 기본 인덱서를 재정의하고 항목의 캐시를 동시에 유지 관리해야합니다. 나는 이것이 당신이 찾고있는 것이라고 생각합니다 : http://blogs.msdn.com/b/ptorr/archive/2010/08/16/virtualizing-data-in-windows-phone-7-silverlight-applications.aspx

해당 페이지에 샘플 프로젝트가 있습니다. 시도해보십시오.

나는이 문제에 직면 해 있다고 생각합니다. http://blog.rsuter.com/?p=258. 나는 이것이 가상화 그 자체를 사용하여 해결 될 것이라고 생각한다. 도움이 되었으면 좋겠다.

+0

그것은 엄청난 일처럼 들립니다. :) 개발자로서 나는 왜 그가 이것을하고 싶어하는지 이해합니다. 사용자 (개발자의 사고 방식에도 불구하고)로서 나는 공란을 플랫폼의 버크로 받아 들인다. –

+0

나는 많은 일을 알고있다. 나는 똑같은 문제에 직면했다. 때로는 상충 관계가 필요합니다. 그것은 내 작업에 도움이 왜 그게 너무 그를 제안 :) –

+0

@MilanAggarwal 왜 우리 IList를 사용해야합니까? ListBox 지원 ** UI 가상화 **는 기본적으로 VirtualizingStackPanel을 사용합니다. IList는 ** 데이터 가상화 **에 유용하며 검은 색 발생과는 아무런 관련이 없습니다! – onmyway133

0

밀라노 게시 된 블로그는 좋은 출발점이다. 스크롤하는 동안 목록 항목의 항목 템플리트를 변경하여 데이터 가상화가 작동합니다. 이것은 복잡한 레이아웃이있을 때 예상대로 작동하지 않습니다.

하지만 작업중인 레이아웃에 대해 더 많이 작업하는 것이 좋습니다. 레이아웃을 조금 일반적으로 만들기 위해 스택 패널을 너무 많이 사용하면 성능이 저하됩니다.