2017-04-06 20 views
1

개의 항목을 다시 생성하지 않고 캐시 된 항목을 계속 사용합니다. 그룹 템플릿이 정의되어 있으며 Fill 속성에 ImageBrush 개체가있는 Rectangle 개체가 포함됩니다. ListViewItemsPanel으로 ItemsStackPanel으로 항목과 그룹을 표시합니다.ItemsStackPanel은 항목을 그룹화하는 내 Windows Phone 8.1 WinRT 앱에 <code>ListView</code>이 있으며 매번

이미지가 한 번로드되고 그려지기 때문에 가상화 중에 항목 컨테이너를 재사용하는 것이 문제이지만, 이미지를 스크롤하면 이미지 순서를 잃어버린 이미지 주문과 이미지로드 이벤트가 발생합니다. ImageBrush 중 하나라도 해고 당하지 않으면 표시 항목이 캐시됩니다.

ItemsStackPanel에 대신 VirtualizingStackPanel.VirtualizationMode="Standard"을 설정했지만 아무런 효과가없는 것 같습니다.

도움을 주시면 감사하겠습니다.

+0

코드 숨김의 목록보기 항목 객체를 망치고 있습니까? 템플릿을 사용하여 올바르게 수행하는 경우 WPF에서 이러한 일이 발생하지 않는다는 것을 알지만 실제로 UWP에있는 것 같아서 WPF 태그를 추가하여 과민 한 노인이 downvoted 상태가되기를 바랍니다 내 경우에는, 어쩌면 나는 오래되지 않았거나 짜증이났다.) –

+0

기본 이미지를 어떤 이유로 열 수없는 경우 ImageBrush.ImageFailed 이벤트를 구독하여 기본 이미지를로드하는 것이 유일한 방법입니다 (단, 처음 처리 한 항목은 처음 생성 된 후 처리되지 않습니다.). 동일한 소스에 바인딩 된 ItemsWrapGrid에는이 문제가 없습니다. 어떤 아이디어? 그리고 특히 Windows Phone 8.1 WinRT가 플랫폼이라고 말했지만 WPF가 충분히 가까이있어 누군가가 같은 문제를 가지고 도움을 줄 수 있다고 생각했습니다. – TheAgent

+0

아이디어가 없습니다. 죄송합니다. 내가 너라면, 그 문제를 재현하는 최소한의 예제를 만들거야. 보통 나를 위해, 나는 더 간단한 컨텍스트에서 문제를 재현 할 수 없다는 것을 알기 때문에 깨지지 않은 예제를 깨진 실제 코드와 비교하고 해결책을 찾는다. 그러나 작동하는 MVCE를 작성할 수 있다면 (즉, 작동하지 않는다는 의미입니다.) 도움을 주려는 사람에게는 큰 도움이 될 것입니다. –

답변

0

ItemsStackPanel의 그룹 헤더 템플릿에서 ImageBrush.ImageFailed (또는 다른 이벤트) 처리가 매우 이상한 행동을 유발합니다.

저는이 문제를 정말로 해결하지 못했습니다. 이벤트 핸들러를 제거하고 주 이미지 파일을 찾을 수 없을 때 기본 이미지를로드하는 다른 메커니즘을 구현했습니다.

다른 기본 이미지가 Image에로드되어 있고 다른 이미지가 첫 번째 이미지 상단에 배치되어 실제 이미지 파일을로드합니다. 로딩이 실패하면 아래에 표시된 것이 나타납니다.