2010-01-17 22 views
5

Estoy creando una aplicación WPF con un cuadro de lista que estoy vinculando a los nombres de los proyectos. Como elemento decorativo, quiero colocar un ícono pequeño al lado de cada elemento en la lista, similar al modo que lo hace Outlook en su lista de Carpetas personales. Para empezar, voy a usar la misma imagen para todos los elementos de la lista.WPF: Agregar una imagen a un ListBox ItemTemplate

Aquí es el margen de beneficio que tengo hasta el momento (voy a moverlo a un diccionario de recursos después de que se trabaja):

<ListBox.Resources> 
    <ImageBrush x:Key="ProjectIcon" ImageSource="Images/project.png" /> 
</ListBox.Resources> 
<ListBox.ItemTemplate> 
    <DataTemplate> 
     <StackPanel Orientation="Horizontal"> 
      <Image Source="{StaticResource ProjectIcon}"/> 
      <TextBlock Text="{Binding Path=Name}" /> 
     </StackPanel> 
    </DataTemplate> 
</ListBox.ItemTemplate> 

Tengo un error en el recurso de imagen, pero No estoy seguro de cómo solucionarlo. ¿Alguna sugerencia? Gracias.

Respuesta

11

La propiedad Source de Image es del tipo ImageSource no . El siguiente debería funcionar:

<ListBox.Resources> 
    <BitmapImage x:Key="ProjectIcon" UriSource="Images/project.png" /> 
</ListBox.Resources> 
<ListBox.ItemTemplate> 
    <DataTemplate> 
     <StackPanel Orientation="Horizontal"> 
      <Image Source="{StaticResource ProjectIcon}"/> 
      <TextBlock Text="{Binding Path=Name}" /> 
     </StackPanel> 
    </DataTemplate> 
</ListBox.ItemTemplate> 
+0

Funciono perfectamente - gracias de nuevo! –