2013-07-16 3 views
3

ListView을 선반에 앉아있는 것처럼 보이도록 만들려고합니다. 그래서 같은 목록보기에 선반 배경을 얻을 수 있어요 :스크롤 배경 이미지가 포함 된 목록보기

<ListView.Background> 
    <ImageBrush ImageSource="..\Images\bookshelf.png" AlignmentX="Left" AlignmentY="Top" TileMode="Tile" Stretch="None" ViewportUnits="Absolute" Viewport="0,0,319,203" /> 
</ListView.Background> 

하지만이 방법을 수행 할 때 배경이 정적이고 때 ListView 스크롤을 이동하지 않습니다. 나는 이것을 어떻게 든 ListView의 scrollview에 추가해야만한다는 것을 알았지 만, 나는 잘 모릅니다.

ListView으로 타일하고 스크롤하는 이미지를 어떻게 추가합니까?

+1

LV의 각 행 배경을 단일 선반으로 설정해 보았습니까? –

+0

ListView에서 주목해야 할 것은 가상화와 함께한다는 점입니다. ScrollViewer의 ActualHeight는 실제로 전체 높이가 아닙니다. 'ExtentHeight','ScrollableHeight','ViewportHeight','VerticalOffset' 등의 조합을 사용하여 실제 스크롤바 요구 사항과 스크롤 치수를 계산합니다. 이 모든 경우에도 뷰포트에없는 일부 항목이 다른 항목보다 훨씬 더 큰 '높이'를 가졌다 고 말하는 경우 올바르지 않을 수 있습니다.이 불규칙 항목이 뷰포트에 들어가면 스크롤 막대 엄지 손가락 크기가 조정되는 것을 볼 수 있습니다. – Viv

+0

^^ .. contd. Virtualization 및 Un-even 항목 높이로 실제 'ExtentHeight'를 계산할 수 없다는 가능성으로 @GarryVass의 제안이 여기에서 가장 좋은 옵션이 될 것입니다. 책꽂이 이미지를 3 부분 (상단, 선반, 하단)으로 슬라이스하고 DataTemplate 선택기를 사용하여 각각을 적용하거나 ListView를 바깥 쪽의 위와 아래 이미지로 래핑하고 각 항목에 선반 이미지를 적용합니다. – Viv

답변

0

ListView의 배경을 설정하는 대신 ListView 뒤에 있고 이미지가 포함 된 다른 ScrollViewer를 만들어보십시오. ListView를 스크롤 할 때 ScrollViewer 스크롤 위치를 업데이트하십시오. 원하는 경우 시차 스크롤링을 추가 할 수도 있습니다.

관련 문제