0

我正在使用 SQLite,我有一个表,其中包含带有字段的表:idname

在我的项目中,我有文件夹 graphics/pictures 并且我的图片被命名为:1.png、2.png 等。

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

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

我已经尝试过类似的东西Source="graphic/pictures/{Binding id}.png,但这似乎是个坏方法。

4

2 回答 2

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 )

于 2012-06-29T09:20:42.650 回答
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>
于 2012-06-29T09:34:58.707 回答