将ListBox绑定到列表<img/>

时间:2010-05-29 03:18:11

标签: wpf binding

我需要将图像列表绑定到列表框。 我的代码是:

        <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,但都不起作用。

感谢。

1 个答案:

答案 0 :(得分:1)

lstImages中的项目类型是什么?如果它是System.Windows.Controls.Image,那么你可以完全摆脱ItemTemplate,因为Image已经是一个知道如何渲染自身的UIElement。如果它类似于图像路径(字符串或Uri)或System.Windows.Media.ImageSource,则需要更改DataTemplate以使用它来使用列表中的每个项目作为图像的源:

<Image Source="{Binding}"/>

您还应该删除DataTemplate上的DataType声明,因为它不仅不必要而且不正确。 DataType应指定数据的类型,如上所述,控件不需要呈现DataTemplates。