如何在 xamarin 中的 SQLite 数据库中显示 CollectionView 中的数据?

问题描述

我想从数据库获取 url 和一些文本到集合视图并显示带有该标签图片。如何将数据库数据与 CollectionView 连接并显示

这是我的模特

public class Airplane
{
    [PrimaryKey]
    public int Id { get; set; }
    public string Plane { get; set; }
    public string Airline { get; set; }
    public string Livery { get; set; }
    public string Registration { get; set; }
    public string Airport { get; set; }
    public string Date { get; set; }
    public string Comment { get; set; }
    public string Url { get; set; }        
}

还有 XAML 代码

<Grid>
        <Grid.RowDeFinitions>
            <RowDeFinition Height="*"/>
        </Grid.RowDeFinitions>
        <CollectionView>
            <CollectionView.ItemTemplate>
                <DataTemplate>
                    <Grid>
                        <Grid.ColumnDeFinitions>
                            <ColumnDeFinition Width="100"/>
                            <ColumnDeFinition Width="*"/>
                        </Grid.ColumnDeFinitions>

                        <Image Source=""
                               HeightRequest="200"
                               Grid.Column="0"/>
                        <Label Text=""
                               Grid.Column="1"/>
                    </Grid>
                </DataTemplate>
            </CollectionView.ItemTemplate>
        </CollectionView>
    </Grid>

解决方法

获取您的数据

var data = db.Table<Airplane>().ToList();

将其分配给 ItemsSource

myCollectionView.ItemsSource = data;

在模板中添加绑定表达式

<Image Source="{Binding Url}" ... />
<Label Text="{Binding Plane}" ... />