在 Windows Phone 8.1 中将数据从 SQLite 绑定到 ListView
Binding data from SQLite to ListView in Windows Phone 8.1
首先,我尝试了在 Whosebug 上回答的其他示例,也尝试了其他示例,但在我的案例中没有找到成功。
我正在尝试将数据库中 table 中的数据绑定到列表视图
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
因此,在我的列表视图中,我只获得了我的 table 名称(而不是绑定 table 中的内容)。
我不知道我做错了什么。请帮助。
像这样把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>
首先,我尝试了在 Whosebug 上回答的其他示例,也尝试了其他示例,但在我的案例中没有找到成功。
我正在尝试将数据库中 table 中的数据绑定到列表视图 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
因此,在我的列表视图中,我只获得了我的 table 名称(而不是绑定 table 中的内容)。 我不知道我做错了什么。请帮助。
像这样把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>