我需要将图像列表绑定到列表框。 我的代码是:
<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;
未分配的图像是列表
我尝试使用lstImages.ItemsSource&amp; lstImages.DataContent,但都不起作用。
感谢。
答案 0 :(得分:1)
lstImages中的项目类型是什么?如果它是System.Windows.Controls.Image,那么你可以完全摆脱ItemTemplate,因为Image已经是一个知道如何渲染自身的UIElement。如果它类似于图像路径(字符串或Uri)或System.Windows.Media.ImageSource,则需要更改DataTemplate以使用它来使用列表中的每个项目作为图像的源:
<Image Source="{Binding}"/>
您还应该删除DataTemplate上的DataType声明,因为它不仅不必要而且不正确。 DataType应指定数据的类型,如上所述,控件不需要呈现DataTemplates。