问题描述
我想从数据库中获取 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}" ... />