在Windows Phone 8.1中将数据从SQLite绑定到ListView
本文关键字:SQLite 绑定 ListView 数据 Phone Windows | 更新日期: 2023-09-27 18:20:30
首先,我在stackoverflow上尝试了这里回答的其他示例,也尝试了其他示例,但在我的案例中没有成功。
我正在尝试将DB中的表中的数据绑定到列表视图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的模板代码保持在Listview的DataTemplate中,如下所示。
<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>