2013-07-24 102 views
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> 

我顯示在消息框中的值。但我想在列表視圖中顯示值

回答

0

您只需要添加項目也列表框。

while (await statement.StepAsync()) 
{ 
    mylist1.Items.Add(statement.Columns["Name"]); 
} 
1

這種方法,你將要需要在未來的代碼,因爲有時你不能從THR名稱訪問控制,因爲它們可以出現在數據模板..

先的的ObservableCollection /列表中消息字符串並在其中添加您的字符串/文本。這樣的..

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"];); 

現在在你的類構造器中設置page..like本的DataContext的。

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

現在綁定設置你的ItemsSource列表框在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>