2010-05-29 109 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。