每个人其实我都在创建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作为我的图像控件的来源,以显示我本地文件夹本身的图像。,
提前致谢。
答案 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;
}
希望这有帮助。