2010-05-29 120 views
0

我需要将图像列表绑定到列表框。 我的代码之中:将ListBox绑定到列表<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。如果是像你需要改变的DataTemplate用这个来使用的每个项目在列表中的源图像的图像路径(字符串或URI)或System.Windows.Media.ImageSource:

<Image Source="{Binding}"/> 

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

相关问题