사용자 정의 복합 데이터 템플릿이있는 ItemsControl (목록 상자)이 있습니다. 그리고이리스트 박스로 윈도우를 보여주는 데 몇 초가 걸립니다!WPF에서 이미지 목록을 빠르게 표시 할 수 없습니다 ItemsControl
<Image Stretch="Uniform"
x:Name="image"
Grid.ColumnSpan="1"
Source="{Binding ImagePath}"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"
Width="Auto"
Grid.Column="0"
MinWidth="20"
MinHeight="20"
d:LayoutOverrides="GridBox"
Margin="1,0,1,1" />
거의 모든 ImagePaths가 null :
내 목록 상자 DataTemplate을 이미지가 포함되어 있습니다. 이 null이 예외를 생성하지만 wpf 엔진이이를 숨 깁니다. 나는 이것이 이것이 문제의 근원이라고 생각한다. 이미지 경로가 null임을 알 때 이미지로드를 비활성화 할 수 있습니까?
해결 그리고 이것은 무엇을 할 것 인 .. 파라미터가 null의 경우 기본 값을 반환하는 컨버터 시도 할 것인가? 값이 null의 경우, null를 설정합니다. – Evgeny
@Evgeny 시도해 보셨습니까? 이것은 디폴트'TypeConverter'가 실제로 당신의 지연을 일으키는 예외를 던지는 것을 막을 것입니다. –
또는 두 개의 대답을 결합하고'Source = {Binding ImagePath, FallbackValue = {x : Null}}'을 사용하여 동일한 결과를 얻을 수 있습니다. –