0

Windows Phone 8 の開発は初めてです。sqlite データベースに一連の値があります。すべての値をリスト ビューに表示します。C#コード

Database database = new Database(ApplicationData.Current.LocalFolder, "people.db");

            await database.OpenAsync();

            string query = "SELECT * FROM PEOPLE";
            Statement statement = await database.PrepareStatementAsync(query);

            statement.EnableColumnsProperty();



            while (await statement.StepAsync())
            {
                MessageBox.Show(statement.Columns["Name"] );

                txt1.Text = statement.Columns["Name"];
            } 

xaml コード:

<ListBox Margin="0,365,0,0" x:Name="mylist1">
                <ListBoxItem Height="190">
                    <TextBlock Width="443" Height="55" x:Name="txt1"></TextBlock>
                </ListBoxItem>
            </ListBox>

メッセージボックスに値を表示します。しかし、リストビューで値を表示したい

4

2 に答える 2

1

このメソッドは、データ テンプレートに存在する可能性があるため、thr 名からコントロールにアクセスできない場合があるため、将来のコードで必要になります。

最初に、メッセージ文字列の監視可能なコレクション/リストを作成し、その中に文字列/テキストを追加します。このような..

  public ObservableCollection<string> MessageList { get; set; }

このコレクションの価値をこのように追加します..

        MessageList = new ObservableCollection<string>();
        MessageList.Add(statement.Columns["Name"];);
        MessageList.Add(statement.Columns["Name"];);
        MessageList.Add(statement.Columns["Name"];);
        MessageList.Add(statement.Columns["Name"];);
        MessageList.Add(statement.Columns["Name"];);

クラスコンストラクターで、ページのデータコンテキストを設定します..このように。

 public AllMessages()
    {
       this.DataContext = this;
    }

次のように xaml でリストボックスの項目ソースをバインド設定します。

<ListBox Margin="0,365,0,0" x:Name="mylist1" ItemsSource="{Binding MessageList}">
            <ListBoxItem Height="190">
                <TextBlock Width="443" Height="55" x:Name="txt1" Text="{Binding}"></TextBlock>
            </ListBoxItem>
        </ListBox>
于 2013-07-24T13:04:57.653 に答える
0

リストボックスにも項目を追加するだけです。

while (await statement.StepAsync())
{
    mylist1.Items.Add(statement.Columns["Name"]);
} 
于 2013-07-24T13:04:48.710 に答える