(От колко време използваме OpenIDs? Изглежда нямам такъв, свързан с който и да е доставчик и нито един ЧЗВ на планетата изглежда не ви казва какво да правите, когато загубите своя OpenID. Трябваше да създам нов акаунт. Ааа!)
Опитвам се да попълня (въртележка) списъчно поле от база данни, но не мога да накарам изображенията да се показват. Всеки един пример в мрежата предполага, че имате два или три 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 успешно от db (използвайки байтов масив за изображението) и се опитвам да покажа името и изображението с
<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 е просто:
<ListBox Name="lstTest" ItemsSource="{StaticResource TestDataSource}"
ItemTemplate="{StaticResource TestDataTemplate2}"></ListBox>
ItemName показва добре, ItemImage не. Опитах и {Binding ItemImage}
. Повечето примери използват {Binding Path=ItemImage}
, но това е мястото, където ItemImage ще бъде низ, съдържащ пътя, а не самото изображение.
Скубя си косата. Нищо, което правя, не кара изображенията да се появяват. Ако обаче създам контрола на изображение и ръчно присвоя съдържанието на ItemImage, тя се показва добре. какво правя грешно