2009-04-16 70 views
1

這是我的命,我不能讓顯示爲一個列表框項目的圖像:這是我的代碼:WPF Listbox圖像綁定問題(再次)!

WPF:

// listbox called lstWidgets 
<ListBox.ItemTemplate> 
<DataTemplate> 
    <StackPanel> 
     <TextBlock Name="txtTitle" Margin="2,5,5,2" Text="{Binding name}" /> 
     <Image Name="imgDisp" Source="{Binding img}" Width="50" Height="50"/> 
    .....  

C#:

Class widget/props: string name, Image img (get,set)... 
ObservableCollection<cls_Widget> widgets.... 
Image newImage = new Image(); 
newImage.Source = new ImageSourceConverter().ConvertFromString("")as ImageSource; 
cls_Widget wdg = new cls_Widget(); 
wdg.img = newImage 
wdg.name = "My Widget"; 
widgets.Add(wdg);     
lstWidgets.ItemsSource = widgets; 
.... 

的textblock顯示文字,但圖像不是(圖像區域爲空白).. 我感謝任何幫助!我已經得到和圖像顯示在不同的代碼方案,但不是這一個...

在此先感謝。

回答

3

我認爲你需要公開imageSource,而不是圖像。 你已經在模板中有一個圖像。

在Visual Studio中查看調試輸出可能會指出順便說明綁定失敗。

+0

啊咋老輸出窗口(向我展示了綁定錯誤)。我改變了類道具的圖像源,和它的工作.. MUCHO格拉西亞斯 – jdr120 2009-04-16 18:20:59

0

如果將圖像的源代碼綁定到支持屬性,則支持屬性應該是圖像源,而不是圖像。

或者,您可以使用ContentControl在對象中顯示圖像。試試這個:

... 
<TextBlock Name="txtTitle" Margin="2,5,5,2" Text="{Binding name}" /> 
<ContentControl Name="imgDisp" Width="50" Height="50" Padding="0" 
       Content="{Binding img}"/> 
...