(我们使用OpenID的时间有多长?我似乎没有一个连接到任何提供商,并且在这个星球上没有任何常见问题解答似乎告诉您在丢失OpenID时该做什么。我不得不创建一个新的帐户,唉!)WPF Listbox来自数据库的图片
我试图从数据库中填充(传送带)列表框,但我无法获取要显示的图像。在网络上的每一个例子假设你有两个或三个JPEG文件的文件夹中,而不是在内存:(
我的物品类别是:
public class PicCollection : ObservableCollection<CarouselItem>
{
public PicCollection()
{
}
}
public class CarouselItem
{
public int ItemID { get; set; }
public string ItemName { get; set; }
public string ItemDesc { get; set; }
public Image ItemImage { get; set; }
public CarouselItem(int NewItemID, string NewItemName, string NewItemDesc, Image newItemImage)
{
this.ItemID = NewItemID;
this.ItemName = NewItemName;
this.ItemDesc = NewItemDesc;
this.ItemImage = newItemImage;
}
}
我填一个PicCollection成功地从数据库中(使用一个字节阵列用于图像),并且尝试显示的名称和图像与
<DataTemplate x:Key="TestDataTemplate2" >
<StackPanel Orientation="Horizontal">
<TextBlock x:Name="CarName"
Text="{Binding ItemName}"
Padding="15,15"
Foreground="Yellow" />
<Image Source="{Binding Source=ItemImage}"
Stretch="Fill" />
</StackPanel>
</DataTemplate>
列表框很简单:
<ListBox Name="lstTest" ItemsSource="{StaticResource TestDataSource}"
ItemTemplate="{StaticResource TestDataTemplate2}"></ListBox>
ITEMNAME显示OK,ItemImage没有。我也尝试过{Binding ItemImage}
。大多数示例使用{Binding Path=ItemImage}
但是这也正是ItemImage将包含路径,而不是实际图像本身的字符串。
我拉我的头发。我没有做任何事使图像出现。如果我创建一个图像控件并手动分配一个ItemImage的内容,但是,它显示正常。我究竟做错了什么?
咄!当然!这会教会我复制示例并粘贴而不尝试完全理解它们。谢谢。 – SteveCav 2009-09-03 02:30:43