(我們使用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