ItemsTemplate을 통해 사용자 지정 "Document"개체 컬렉션에 목록 상자를 바인딩하려고하지만 이미지를 Document.ImageResourcePath 속성에 바인딩하는 동안 문제가 발생합니다. 여기 내 마크 업입니다<Image> 바인딩에서 작업하지 않는 소스
<ListBox Name="lbDocuments">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel>
<Image Source="{Binding Path=ImageResourcePath}"
Margin="5,0,5,0"/>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
이것은 목록 상자가있는 양식의로드 이벤트입니다.
private void Window_Loaded_1(object sender, RoutedEventArgs e)
{
List<Objects.Document> docs = Objects.Document.FetchDocuments();
lbDocuments.ItemsSource = docs;
}
내 문서 클래스는 문서 확장명에 따라 리소스 폴더에있는 리소스 이미지에 문자열을 보유합니다.
완벽하게 유형을 문서로 (23)에 결합 될 때 윈도우가로드 내 목록 상자에서 절대적으로 아무것도 얻을 수없는 경우
case Cache.DocumentType.Pdf:
this.ImageResourcePath = "/JuvenileOrganizationEmail;component/Resources/pdf_icon.jpg";
break;
(이 문서 클래스 내에서 case 문의 일부입니다). 나는 무엇을 잘못 할 수 있 었는가?
당신은 당신의 창'DataContext'을 설정하여 Window.cpp 파일에서
은 (당신이 MVVM을하고 있다면하지만, 별도의 뷰 모델 클래스를 추천 할 수있다)? –
디버깅을 위해 이미지의 크기가 고정되어있는 경우 (즉, 크기가 0 인 경우) 고정 폭과 높이를 설정하고 동일한 필드에 바인딩 된 StackPanel에 TextBlock 또는 유사한 것을 추가하여 볼 수 있습니다. 올바른 데이터가 바인드되어 있는지 여부. 또한 Output 창에서 바인딩 오류를 확인하십시오. –
@DavidCummins 방금 텍스트 블록을 추가했는데 팝업이 표시되지만 하드 코딩 된 20x20으로도 여전히 이미지가 표시되지 않습니다. – Adrian