2010-04-26 6 views
0

J'ai ListBox dans mon projet WPF qui est défini sur une source de données de "MyObjectCollection". J'ai réussi à obtenir le ListBox pour afficher ma collection, et chaque élément pour afficher deux propriétés de chaîne de l'objet. L'objet contient également une image, comment puis-je obtenir l'image à afficher dans le ListBox?Définition d'une image WPF dans XAML sur une propriété

Je suis actuellement en utilisant le code ci-dessous pour se lier à mon DataSource

<UserControl.Resources> 
     <DataTemplate x:Key="CustomerTemplate"> 
      <Border BorderThickness="2" BorderBrush="silver" CornerRadius="5" Padding="1" 
         HorizontalAlignment="Stretch" VerticalAlignment="Stretch"> 
       <Grid> 
        <Image Source="{Binding Artwork}" Tag="{Binding Artwork}" VerticalAlignment="Stretch" ></Image> 
         <TextBlock Text="{Binding Name}" Foreground="#515151" 
         FontSize="16" HorizontalAlignment="Stretch" 
         FontWeight="Bold" /> 
        <TextBlock Text="{Binding Length}" Foreground="#515151" Margin="0,25,0,0" 
         FontSize="10" HorizontalAlignment="Stretch" 
         FontWeight="Bold" /> 
       </Grid> 
      </Border> 
     </DataTemplate> 
</UserControl.Resources> 

Merci, Ben

+1

Le contrôle de l'image s'attend la source d'être un URI, pas une image réelle ... Pouvez-vous nous dire quel type « oeuvre » est? – Brent

+0

L'illustration est un System.Drawing.Image Type – Ben

+0

'System.Drawing.Image' est WindowsForms tandis que [' System.Windows.Media.ImageSource'] (http://msdn.microsoft.com/en-us/library/system .windows.media.imagesource.aspx) est le type qui devrait être utilisé dans WPF. Comme l'a souligné Brent, le plus simple est d'utiliser un 'Uri'. – gehho

Répondre

0

Cela dépend du type d'image dans votre collection.

S'il s'agit d'une chaîne de chemin vers un fichier ou s'il s'agit d'un tableau d'octets.

Vous devez utiliser ValueConverter pour votre liaison d'image.

Jetez un oeil à ValueConverter

Questions connexes