2009-09-03 3 views
3

(OpenID를 사용한 지 얼마나 되었습니까? 저는 어떤 공급자와도 연결되어 있지 않은 것 같고 행성에 관한 FAQ는 OpenID를 잃어 버렸을 때 어떻게해야할지 알려주지 않습니다.)WPF Listbox 데이터베이스의 이미지

데이터베이스에서 (회전 목마) 목록 상자를 채우고 있지만 이미지를 표시 할 수 없습니다. 새 계정을 만들어야합니다. 그물에 하나 하나 예를 들어 당신이 폴더에 대신 메모리에 두 개 또는 세 개의 사진과이 가정 :(

내 항목 클래스는 다음과 같습니다

public class PicCollection : ObservableCollection<CarouselItem> 
{ 
    public PicCollection() 
    { 

    } 
} 
public class CarouselItem 
{ 
    public int ItemID { get; set; } 
    public string ItemName { get; set; } 
    public string ItemDesc { get; set; } 
    public Image ItemImage { get; set; } 

    public CarouselItem(int NewItemID, string NewItemName, string NewItemDesc, Image newItemImage) 
    { 
     this.ItemID = NewItemID; 
     this.ItemName = NewItemName; 
     this.ItemDesc = NewItemDesc; 
     this.ItemImage = newItemImage; 
    } 
} 

내가 데시벨에서 성공적으로 PicCollection을 채우기 (바이트를 사용하여 이미지의 배열), 및

<DataTemplate x:Key="TestDataTemplate2" > 
     <StackPanel Orientation="Horizontal"> 
      <TextBlock x:Name="CarName" 
          Text="{Binding ItemName}" 
          Padding="15,15" 
          Foreground="Yellow" /> 
      <Image Source="{Binding Source=ItemImage}" 
        Stretch="Fill" /> 
      </StackPanel> 
    </DataTemplate> 

목록 상자에 이름과 이미지를 표시하려고하는 것은 단순히 :

<ListBox Name="lstTest" ItemsSource="{StaticResource TestDataSource}" 
       ItemTemplate="{StaticResource TestDataTemplate2}"></ListBox> 
,

ItemName이 정상적으로 표시되지만 ItemImage는 표시되지 않습니다. 나는 {Binding ItemImage}도 시도했다. 대부분의 예제는 {Binding Path=ItemImage}을 사용하지만 실제 이미지 자체가 아닌 경로가 포함 된 문자열이 ItemImage의 위치입니다.

나는 머리카락을 꺼냈다. 내가하는 일로 이미지가 나타나지 않습니다. 그러나 이미지 컨트롤을 만들고 ItemImage의 내용을 수동으로 할당하면 잘 표시됩니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까? 당신의 "ItemImage은"속성이 이미 이미지입니다

답변

3

귀하의 ItemImage 속성은 이미지 (컨트롤)입니다. System.Windows.Media.Imaging.BitmapImage와 같은 ImageSource로 만듭니다. 그런 다음 <Image Source="{Binding ItemImage}" />을 바인딩 할 수 있습니다.

+0

duh! 당연하지! 그걸 통해 예제를 복사하고 완전히 이해하려고 시도하지 않고 붙여 넣을 수 있습니다. 감사. – SteveCav

0

, 당신은 단지 직접 이미지를 표시 할 ContentControl을을 사용하여 멀리 얻을 수 있습니다

<ContentControl Content="{Binding Image}" />