В моем приложении я хочу отобразить изображение внутри списка, которое связано с объектами через привязку данных.Однако по какой-то причине картина не появляется, и я не могу определить ошибку.Я знаю, что изображение находится в объекте, потому что, если я добавляю новый объект Image в XAML и в коде устанавливаю его источник для одного из изображений из объекта, он показывает его.
Ниже приведен мой код в пошаговом режиме:
foreach (Indtastning indt in listBoxIndhold.ItemsSource)
{
byte[] data = Convert.FromBase64String(indt.imageName);
Stream memStream = new MemoryStream(data);
WriteableBitmap wbimg = PictureDecoder.DecodeJpeg(memStream);
indt.picture = new Image();
indt.picture.Source = wbimg;
//Below is my test image, which shows the picture correctly.
testimage.Source = indt.picture.Source;
}
Мой XAML с изображением:
<ListBox x:Name="listBoxIndhold" Grid.Row="0"
ItemsSource="{Binding .}"
ScrollViewer.VerticalScrollBarVisibility="Visible" >
<ListBox.ItemTemplate>
<DataTemplate >
<Grid HorizontalAlignment="Stretch" VerticalAlignment="Stretch" ShowGridLines="False">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="auto"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="auto"/>
<ColumnDefinition Width="auto"/>
</Grid.ColumnDefinitions>
<TextBlock Text="{Binding Mode=OneWay, Path=name}" Grid.Column="0"
HorizontalAlignment="Stretch" VerticalAlignment="Center"
Style="{StaticResource PhoneTextSmallStyle}"
TextWrapping="Wrap" FontSize="24">
<toolkit:ContextMenuService.ContextMenu>
<toolkit:ContextMenu>
<toolkit:MenuItem Tag="{Binding Mode=OneWay, Path=name}" Header="Rediger" Click="MenuItem_Click" />
<toolkit:MenuItem Tag="{Binding Mode=OneWay, Path=name}" Header="Slet" Click="MenuItem_Click_1"/>
</toolkit:ContextMenu>
</toolkit:ContextMenuService.ContextMenu>
</TextBlock>
<TextBlock Text="{Binding Mode=OneWay, Path=description}" Grid.Column="1"
HorizontalAlignment="Stretch" VerticalAlignment="Center"
Style="{StaticResource PhoneTextSmallStyle}" TextWrapping="Wrap"
FontSize="24">
<toolkit:ContextMenuService.ContextMenu>
<toolkit:ContextMenu>
<toolkit:MenuItem Tag="{Binding Mode=OneWay, Path=name}" Header="Rediger" Click="MenuItem_Click" />
<toolkit:MenuItem Tag="{Binding Mode=OneWay, Path=name}" Header="Slet" Click="MenuItem_Click_1"/>
</toolkit:ContextMenu>
</toolkit:ContextMenuService.ContextMenu>
</TextBlock>
<Image Source="{Binding Mode=OneWay, Path=picture}" Grid.Column="2" VerticalAlignment="Center" HorizontalAlignment="Center" Width="48" Height="48" />
<TextBlock Text="{Binding Mode=OneWay, Path=amount}" Grid.Column="3"
HorizontalAlignment="Stretch" VerticalAlignment="Center"
Style="{StaticResource PhoneTextSmallStyle}"
FontSize="24" >
<toolkit:ContextMenuService.ContextMenu>
<toolkit:ContextMenu>
<toolkit:MenuItem Tag="{Binding Mode=OneWay, Path=name}" Header="Rediger" Click="MenuItem_Click" />
<toolkit:MenuItem Tag="{Binding Mode=OneWay, Path=name}" Header="Slet" Click="MenuItem_Click_1"/>
</toolkit:ContextMenu>
</toolkit:ContextMenuService.ContextMenu>
</TextBlock>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
Мой класс по ознакомлению:
[DataContract]
public class Indtastning
{
[DataMember]
public string name { get; set; }
[DataMember]
public double amount { get; set; }
[DataMember]
public string description { get; set; }
[DataMember]
public bool owes { get; set; }
[DataMember]
public string id { get; set; }
[DataMember]
public string imageName;
public Image picture;
//Constructor
public Indtastning(string id , string navn, double beløb, string beskrivelse, bool skylder)
{
this.name = navn;
this.description = beskrivelse;
this.amount = beløb;
this.owes = skylder;
this.id = id;
}
}
Кто-нибудь может заметить, что я здесь делаю неправильно?Это действительно раздражает, так как это одна из последних вещей, которые мне нужно отсортировать перед запуском приложения.