WPF列表框图像绑定问题(再次)!

时间:2009-04-16 17:08:54

标签: wpf image binding 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;
....

显示文本块文本,但图像不显示(图像区域为空白)。 我感谢任何帮助!我已经得到了图像以在不同的代码场景中显示,但不是这个......

提前致谢。

2 个答案:

答案 0 :(得分:3)

我认为您需要公开imageSource,而不是图像。 您已在模板中拥有图像。

顺便说一下,查看Visual Studio中的调试输出可能表明绑定失败了什么。

答案 1 :(得分: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}"/>
...