这是杀了我,我无法将图像显示为列表框项目:这是我的代码:
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;
....
显示文本块文本,但图像不显示(图像区域为空白)。 我感谢任何帮助!我已经得到了图像以在不同的代码场景中显示,但不是这个......
提前致谢。
答案 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}"/>
...