我正在使用SQLite,我的表格包含带字段的表:id
和name
在我的项目中,我有文件夹图片/图片,我的图片名称如下:1.png,2.png等。
我将所有记录保存到ObservableCollection中,然后将其设置为ListBox的源。
是否有机会根据表格中的id和文件夹中图片的名称将照片绑定到列表中的每个项目上?
我曾尝试像Source="graphic/pictures/{Binding id}.png
那样的smth,但这似乎是不好的方式。
答案 0 :(得分:1)
我不确定它是否有效(现在无法尝试)但您可以使用返回完整路径的StringFormat(http://msdn.microsoft.com/en-us/library/system.windows.data.bindingbase.stringformat.aspx)或转换器(http://msdn.microsoft.com/en-us/library/system.windows.data.binding.converter.aspx)
答案 1 :(得分:0)
尝试将图像作为字符串
public class Img
{
public string thumb { get; set; }
}
在代码中:
for (i = 0; i < observablecollection.Length; i++)
{
Img sqlimage = new Img()
{
thumb = "/PhoneApp1;component/images/" + observablecollection[i].Id + ".jpg"
};
listbox1.Items.Add(sqlimage);
}
<ListBox Name="listBox1" Width="Auto" HorizontalAlignment="Left" ItemsSource="{Binding Img}" DataContext="{Binding}" HorizontalContentAlignment="Left" VerticalContentAlignment="Stretch" >
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Name="ContentGrid" Grid.Row="0" Height="Auto" Orientation="Vertical" Width="Auto">
<Image Height="165" HorizontalAlignment="Left" VerticalAlignment="Top" Width="175" Source="{Binding thumb}"/>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>