Wählen Sie Daten aus der SQLite-Datenbank aus und binden Sie Werte an das Listenfeldelement in Windows Phone 8-Apps

Ich versuche, ein Windows Phone 8-Projekt mit Datenbanktechniken (SQLite) zu erstellen

Ich habe Folgendes versucht:

1) Laden Sie sqlite fie vom Server herunter und speichern Sie es in der lokalen App

2) Ich kann die Werte auch aus der lokalen SQLite-Datenbank abrufen und im Meldungsfeld anzeigen, indem ich einige Beispielcodes von verwendeDieser Link und einige andere Links.

Aber ich bin nicht in der Lage, diese Werte in der Listbox zu binden.

Hier ist mein Code:

XAML-Code:

   <Grid x:Name="ContentPanel" Grid.RowSpan="2">
        <ListBox Name="scheduleListbox" Margin="5,85,5,60" ItemsSource="{Binding}" SelectionChanged="scheduleListbox_SelectionChanged">
             <ListBox.ItemTemplate>
                <DataTemplate>
                <Grid Height="250" Width="480">
                    <Grid.RowDefinitions>
                        <RowDefinition Height="20"></RowDefinition>
                        <RowDefinition Height="40"></RowDefinition>
                        <RowDefinition Height="*"></RowDefinition>
                        <RowDefinition Height="40"></RowDefinition>
                    </Grid.RowDefinitions>
                    <TextBlock Name="team1Name" Text="{Binding team1_name}" Grid.Row="0"></TextBlock>
                    <TextBlock Name="team2Name" Text="{Binding team2_name}"></TextBlock>
                    <TextBlock Name="venue" Text="{Binding venue}" ></TextBlock>
                </Grid>
                </DataTemplate>
            </ListBox.ItemTemplate>
        </ListBox>
        <toolkit:ListPicker Name="selectTeam" Height="60" ItemsSource="{Binding}" VerticalAlignment="Bottom" Background="Black" FullModeHeader="Select your Team Schedule" Foreground="White" ExpansionMode="FullScreenOnly" Margin="5,0" SelectionChanged="selectTeam_SelectionChanged">
            <toolkit:ListPicker.ItemTemplate>
                <DataTemplate>
                    <StackPanel Name="listpickerStackpannel" >
                        <TextBlock Text="{Binding}" TextAlignment="Center" FontFamily="Times New Roman" FontSize="30"></TextBlock>
                    </StackPanel>
                </DataTemplate>
            </toolkit:ListPicker.ItemTemplate>
            <toolkit:ListPicker.FullModeItemTemplate>
                <DataTemplate>
                    <StackPanel Name="listpickerStackpannel" Margin="10">
                        <TextBlock Text="{Binding}" TextAlignment="Center" FontFamily="Times New Roman" FontSize="30"></TextBlock>
                    </StackPanel>
                </DataTemplate>
            </toolkit:ListPicker.FullModeItemTemplate>
        </toolkit:ListPicker>
    </Grid>

und mein CS Code ist:

     string DB_PATH = Path.Combine(ApplicationData.Current.LocalFolder.Path, "sample.sqlite");
    //SQLite connection
    private SQLiteConnection dbConn;
    private List<string> _source = new List<string>
    {
        "Full Schedule","Afghanistan","Australia","Bangladesh","England","Hong Kong","India","Ireland","Nepal","Netherlands","New Zealand","Pakistan","South Africa","Sri Lanka","UAE","West Indies","Zimbabwe"
    };
    public MainPage1()
    {
        InitializeComponent();
        selectTeam.ItemsSource = _source;
    }

    private void scheduleListbox_SelectionChanged(object sender, SelectionChangedEventArgs e)
    {
        dbConn = new SQLiteConnection(DB_PATH);
        /// Create the table Task, if it doesn't exist.
        dbConn.CreateTable<iccworldt20_schedule>();
        /// Retrieve the task list from the database.
        List<iccworldt20_schedule> retrievedTasks = dbConn.Query<iccworldt20_schedule>("select * from iccworldt20_schedule").ToList<iccworldt20_schedule>();
        /// Clear the list box that will show all the tasks.
        scheduleListbox.Items.Clear();
        foreach (var t in retrievedTasks)
        {
            MessageBox.Show(t.ToString());
        }
    }
}
public class iccworldt20_schedule
{
    [PrimaryKey, AutoIncrement]
    public int match_id { get; set; }
    public string team1_Name { get; set; }
    public string team2_Name { get; set; }
    public string match_no { get; set; }
    public string group { get; set; }
    public string venue { get; set; }
    public string time { get; set; }
    public string day { get; set; }

    public override string ToString()
    {
        return team1_Name + ":" + team2_Name +venue;
    }
}

Bitte geben Sie eine Lösung an, wie Sie Werte aus der SQLite-Datenbank abrufen und ihre Werte an die Listbox binden können.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage