2013-05-11 1 views
1

VirtualizationStackPanel이 ItemsPanel 인 GridView가 있습니다. 항목은 내 viewModel에서 내 모델 객체의 컬렉션에 바인딩됩니다. itemtemplate에서 바인딩 할 특정 속성은 이미지와 3 개의 문자열입니다. 앱이 시작될 때 모든 것이 예상대로 작동합니다. 그러나 화면에서 항목을 스크롤하면 이미지가 사라집니다. 문자열은 예상대로 계속 동작합니다. ItemsPanel을 스택 패널로 변경하면이 문제가 없으므로 virtualizingstackpanel과 관련이 있다는 것을 확신 할 수 있습니다. 문제를 디버깅하기 위해 어디서부터 시작해야할지 모르겠습니다.VirtualizingStackPanel 화면에서 스크롤 할 때 이미지가 손실됩니다.

모든 응답을 주시면 감사하겠습니다.

덕분에, 제임스 네이트 다이아몬드에 의해 코멘트에서 언급 한 바와 같이

+0

항목 템플릿이 이미지를 어떻게로드합니까? 임베디드 리소스/콘텐츠 이미지에 대한 URI 참조를 통해? 또는 항목의 ImageSource 속성에 직접 소스를 설정하고 있습니까? –

+0

내 모델의 StorageItemThumbnail 속성이고 변환기를 사용하여 이미지 소스를 새 BitmapImage로 설정합니다. –

+1

VirtualizingStackPanel이 작동하는 방식은 아이템 컨테이너를 재사용하고 컨테이너의 데이터 인터페이스를 변경하는 것입니다. 나는 당신의 변환기가 매번 (일부 중단 점과 디버거로 테스트 가능) 호출되지 않았을 가능성이 있거나 가능한 한 매번 동일한 스트림을 다시 'rewinding'하지 않고 재사용 할 가능성이 있다고 생각한다. 변환기에서 데이터를 가져 오기 전에 StorageItemThumbnailVariable.Seek (0)을 추가하십시오. 그래도 작동하지 않으면 변환기가 트리거되고 있는지 확인하십시오. OnDataContextChanged 또는 OnLoaded와 같이 수동으로 트리거해야 할 수도 있습니다. –

답변

3

, 나는 (0) 그것이 작동되도록하기 위해 streamVariable.Seek에 대한 호출을 추가 할 필요가 있었다.

관련 문제