2015-11-03 103 views
0

首先,我尝试了其他一些在stackoverflow上回答的示例,并尝试了其他示例,但没有在我的案例中找到成功。将数据从SQLite绑定到Windows Phone 8.1中的ListView

我试图从数据库表中数据绑定到ListView的 ListView控件本身看起来是这样的:

<ListView x:Name="lbItems" Width="Auto" Height="Auto" Margin="10" Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="3" Opacity="100" BorderThickness="0" Foreground="White" Background="Transparent"> 
     <ListView.ItemContainerStyle> 
      <Style TargetType="ListViewItem"> 
       <Setter Property="HorizontalContentAlignment" Value="Stretch" /> 
      </Style> 
     </ListView.ItemContainerStyle> 

     <Grid> 
      <Grid.ColumnDefinitions> 
       <ColumnDefinition Width="*" /> 
       <ColumnDefinition Width="60" /> 
      </Grid.ColumnDefinitions> 
      <CheckBox Grid.Column="0" x:Name="cbx" IsChecked="{Binding IsChecked}" Content="{Binding Content}" Height="58" Margin="10, 0, 0, 0" HorizontalAlignment="Stretch" VerticalAlignment="Center" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Center" Width="Auto" /> 
      <AppBarButton Tag="{Binding Id}" Grid.Column="1" Icon="Delete" Height="58" HorizontalAlignment="Right" Width="60" VerticalAlignment="Stretch" HorizontalContentAlignment="Right" Margin="0,0,10,0" Click="DeleteButton_Click" /> 
     </Grid> 
    </ListView> 

,然后在后面的C#代码:

public sealed partial class MainPage : Page 
{ 
    ObservableCollection<tbl_Items> DB_ItemsList = new ObservableCollection<tbl_Items>(); 

    protected override void OnNavigatedTo(NavigationEventArgs e) 
    { 
     ReadAllItemsList dbitems = new ReadAllItemsList(); 
     DB_ItemsList = dbitems.GetAllItems(); 
     lbItems.ItemsSource = DB_ItemsList.OrderBy(i => i.Id).ToList(); 
    } 

在这里,我以下这个例子用于创建数据库和数据库操作:LINK

因此,在我的listview中,我只能得到我的表名(instea d绑定来自该表的内容)。 我无法弄清楚我做错了什么。请帮助。

回答

1

像这样在ListView的DataTemplate中保存Listview的模板代码。

  <ListView.ItemTemplate> 
      <DataTemplate> 
       <Grid> 
        <Grid.ColumnDefinitions> 
         <ColumnDefinition Width="*" /> 
         <ColumnDefinition Width="60" /> 
        </Grid.ColumnDefinitions> 
        <CheckBox Grid.Column="0" x:Name="cbx" IsChecked="{Binding IsChecked}" Content="{Binding Content}" Height="58" Margin="10, 0, 0, 0" HorizontalAlignment="Stretch" VerticalAlignment="Center" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Center" Width="Auto" /> 
        <AppBarButton Tag="{Binding Id}" Grid.Column="1" Icon="Delete" Height="58" HorizontalAlignment="Right" Width="60" VerticalAlignment="Stretch" HorizontalContentAlignment="Right" Margin="0,0,10,0" Click="DeleteButton_Click" /> 
       </Grid> 
      </DataTemplate> 
     </ListView.ItemTemplate> 
+0

谢谢老兄,你是救命恩人。我已经花了大约一周的时间,找不到任何解释如何去做。 – al1en

相关问题