2009-03-24 5 views
0

내 WPF 프로젝트에는 이미지를 표시하고 각 이미지 옆에 텍스트 (예 : 사진을 찍은 날짜, 위치 등)가있는 목록 상자가 있습니다. 나는 일반적인 목록을 만드는 시도했지만 난 여전히 목록 상자에 나는이 라인에 뭔가를 시도하고있다비트 맵 이미지로 사용자 정의 제네릭 목록 만들기

Bscially 같은

뭔가를 할당 할 수 없습니다.

public class LoadImages 
{ 
    public static List<ImageLoader> LoadImages() 
    { 
     List<ImageLoader> img = new List<ImageLoader>(); 

     Uri uri = new Uri(@"http://somedomain.com/pic.jpg", UriKind.Absolute); 
     BitmapImage bi = new BitmapImage(uri); 

     img.Add(new ImageLoader("1_1",bi)); 

     return img;    
    } 
} 

public class ImageLoader 
{ 
    string mediaid; 
    BitmapImage thumbnail; 

    public ImageLoader(string mediaid, BitmapImage b) 
    { 
     this.mediaid = mediaid; 
     this.thumbnail = b; 
    } 
} 

그리고 내 XAML은 이렇게 보입니다. 시간에 대한

 <ListBox Name="ListBox1" SelectionMode="Extended" ItemsSource="{Binding}" 
      Width="300" Height="300" IsSynchronizedWithCurrentItem="True"> 
     <ListBox.ItemTemplate> 
      <DataTemplate> 
       <Grid> 
        <Image Source="{Binding thumbnail}"/> 
        <TextBlock Text="{Binding mediaid}"/> 
       </Grid> 
      </DataTemplate> 
     </ListBox.ItemTemplate> 
    </ListBox> 

나는
<Window.DataContext> 
    <ObjectDataProvider ObjectType="{x:Type local:LoadImages}" MethodName="LoadImages"/> 
</Window.DataContext> 

Window.DataContext

를 설정하고 그러나 매번 나는 목록 상자가 비어 나타 응용 프로그램을 실행합니다.

제안 사항.

답변

0

많은 답변을 읽은 후 ImageLoader 클래스에서 수행해야하는 모든 작업은 mediaid 및 미리보기 이미지의 속성을 만들고 그 후에 목록 상자에 바인딩하면 char처럼 작동합니다. 이제 위의 질문에 질문으로하여 ImageLoader 클래스는

public class ImageLoader 
{ 
    string mediaid; 
    BitmapImage thumbnail; 

    public string MediaId 
    { 
     get { return mediaid; } 
     set { mediaid = value; } 
    } 

    public BitmapImage Thumbnail 
    { 
     get { return thumbnail; } 
     set { thumbnail = value; } 
    } 

    public ImageLoader(string mediaid, BitmapImage b) 
    { 
     this.mediaid = mediaid; 
     this.thumbnail = b; 
    } 
} 
1

이미지 요소는 Uris for Source 속성을 지원합니다. LoadImages 클래스를 이미지 대신 Uris 세트로 반환하는 것은 어떻습니까? 또한 이미지 요소는 비동기 작업을 수행 할 수 있습니다.)

+0

감사 데니스처럼 은 분명 :-)에게 –

+0

업데이트 누락되었습니다 보인다 : 내 클래스를 변경 한 문자열하지만 이미지에 결합 할 수있는 이미지 요소를 설정 여전히 나타나지 않습니다. 모든 포인터. –

0

썸네일과 미디어 ID는 공개되지 않으므로 바인딩에 실패합니다.

+0

안녕하세요, 공개 설정을 시도했지만 여전히 바인딩에 실패했습니다. –