显示来自本地文件夹的图像,其中图像名称作为源从Windows Phone 8应用程序中的sqlite数据库获取

时间:2014-02-24 13:23:30

标签: c# database sqlite windows-phone-8

每个人其实我都在创建windows phone8项目。我有隔离存储中的SQlite数据库文件,其中有一个名为'teams'的表,其中fieds是“id,team_name”等

我已经插入了像印度,澳大利亚等团队名称,并且在我的应用程序本地文件夹中我有一个同名的团队图像存储在sqlite DB中,如india.png,australia.png。等

在我的列表框中,我可以列出所有球队名称和也是团队形象。所以我已经编写了

的代码

从sqlite DB中检索数据并成功显示名称,ID等。

但是,问题是我想显示本地文件夹中的图像,其中图像名称来自国家/地区表,其中包含“country_name”列,因为

column_name&我的本地图像有相同的名称。

我的代码会解释比我想的文字更清晰:

我的XAML代码:

   <ListBox Name="scheduleListbox" Margin="5,85,5,60" >
            <ListBox.ItemTemplate>
                <DataTemplate>
                    <Grid Height="100" Width="480" Margin="0,0,0,5" Background="CadetBlue">
                       <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="150"></ColumnDefinition>
                        </Grid.ColumnDefinitions>
                        <Image Margin="3" Source="{Binding teamUrl}"></Image>
                        <TextBlock Grid.Column="1" Text="{Binding team1_Name}" Name="team1Name" Foreground="White"></TextBlock>                        
                    </Grid>
                </DataTemplate>
            </ListBox.ItemTemplate>
        </ListBox>

我的CS代码就像这样

  public partial class Schedule : PhoneApplicationPage
{      
    List<teams> teamsList;
    // the local folder DB path
    string DB_PATH = Path.Combine(ApplicationData.Current.LocalFolder.Path, "sample.sqlite");
    //SQLite connection
    private SQLiteConnection dbConn;

    dbConn = new SQLiteConnection(DB_PATH);

        /// Create the table Task, if it doesn't exist.
        dbConn.CreateTable<teams>();

       teamsList = dbConn.Query<teams>("select * from teams").ToList<teams>();

       // Bind source to listbox
       scheduleListbox.ItemsSource =teamsList;

    }

  public class teams
  {
    [PrimaryKey, AutoIncrement]
    public int id { get; set; }
    public string team_Name { get; set; }
  }

此处在类i中声明了与teams表列对应的数据成员,并且无法将team_name指定为图像源

所以,有人请给我解决方案,将team_name设置为图像源,团队图像存储在路径中的本地文件夹中,如(... / images / australia.png)

我的要求:最后我的重新考验是我想从SQLite DB获取team_name并使用此team_name作为我的图像控件的来源,以显示我本地文件夹本身的图像。,

提前致谢。

1 个答案:

答案 0 :(得分:0)

我发现自己回答了我的要求。我创建了另一个名为“appendList”的类,其中所有现有的数据成员都在“team”&amp;类上。像teamImage这样的额外数据成员

    public class teams
    {
      [PrimaryKey, AutoIncrement]
       public int id { get; set; }
      public string team_Name { get; set; }
    }
    public class appendList
     {
       [PrimaryKey, AutoIncrement]
       public int id { get; set; }
       public string team_Name { get; set; }
       public string teamImage
     }

并像这样创建循环

      public partial class Schedule : PhoneApplicationPage
     {      
List<teams> teamsList;
 List<appendList> _appendList;
// the local folder DB path
string DB_PATH = Path.Combine(ApplicationData.Current.LocalFolder.Path, "sample.sqlite");
//SQLite connection
private SQLiteConnection dbConn;

dbConn = new SQLiteConnection(DB_PATH);

    /// Create the table Task, if it doesn't exist.
    dbConn.CreateTable<teams>();

   teamsList = dbConn.Query<teams>("select * from teams").ToList<teams>();
      //
      _appendList=new List<appendList>();
     foreach(var t in teamsList)
    {
      _appendList.add(new appendList
       {
          teamImage="/..your local image Path/"+t.team_name+".png";
       });
    }
   // Bind source to listbox
   scheduleListbox.ItemsSource =_appendList;

}

希望这有帮助。