基于数据库ID绑定图像

时间:2012-06-29 09:10:33

标签: image windows-phone-7 binding

我正在使用SQLite,我的表格包含带字段的表:idname

在我的项目中,我有文件夹图片/图片,我的图片名称如下:1.png,2.png等。

我将所有记录保存到ObservableCollection中,然后将其设置为ListBox的源。

是否有机会根据表格中的id和文件夹中图片的名称将照片绑定到列表中的每个项目上?

我曾尝试像Source="graphic/pictures/{Binding id}.png那样的smth,但这似乎是不好的方式。

2 个答案:

答案 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>