2010-05-29 4 views
0

Мне нужно привязать список изображений к списку. Мой код существо:Bind ListBox to List <Image>

 <ListBox x:Name="lstImages"> 
      <ListBox.ItemTemplate> 
       <DataTemplate DataType="{x:Type Image}"> 
        <StackPanel> 
         <Image Source="{Binding Path=UnassignedImages}"></Image> 
        </StackPanel> 
       </DataTemplate> 
      </ListBox.ItemTemplate> 
     </ListBox> 

Код позади:

lstImages.ItemsSource = this.audit.UnassignedImages;

Где UnassignedImages будучи Список

Я попытался использовать как lstImages.ItemsSource & lstImages.DataContent, но никто не работает.

Спасибо.

ответ

1

Какой тип элементов в lstImages? Если это System.Windows.Controls.Image, вы можете полностью избавиться от ItemTemplate, потому что Image уже является UIElement, который знает, как сделать сам. Если это что-то вроде пути изображения (строка или Uri) или System.Windows.Media.ImageSource вам нужно изменить DataTemplate использовать эту функцию, чтобы использовать каждый элемент в списке в качестве источника для изображения:

<Image Source="{Binding}"/> 

Вы также должны удалить декларацию DataType на вашем DataTemplate, поскольку это не только необязательно, но и неверно. DataType должен указывать тип данных и, как упоминалось выше, элементам управления не нужны DataTemplates для визуализации.