如何为 CollectionView 设置背景图片

How to set background image for CollectionView

如何在 Xamarin.Forms 中设置 collectionview 的背景图片?

在Colletionview中“背景”是画笔,无法调整图片来源

你可以试试这个方法:

  1. 将 CollectionView 的背景设置为透明。
<CollectionView ItemsSource="{Binding Monkeys}" BackgroundColor="Transparent">
  1. 将 Grid 放在集合视图的上层。
<Grid>
   <CollectionView ItemsSource="{Binding Monkeys}" BackgroundColor="Transparent">
   ...
   </CollectionView>
</Grid>
  1. 将图像视图放在集合视图的同一级别。
<Grid>
   <Image Source=""/>
   <CollectionView ItemsSource="{Binding Monkeys}" BackgroundColor="Transparent">
      <CollectionView.ItemTemplate>
      ...
   </CollectionView>
</Grid>

Page.xaml

<Grid>
   <Image Source="https://upload.wikimedia.org/wikipedia/commons/thumb/f/fc/Papio_anubis_%28Serengeti%2C_2009%29.jpg/200px-Papio_anubis_%28Serengeti%2C_2009%29.jpg"/>
   <CollectionView ItemsSource="{Binding Monkeys}" BackgroundColor="Transparent">
      <CollectionView.ItemTemplate>
         <DataTemplate>
            <Grid Padding="10">
               <Grid.RowDefinitions>
                  <RowDefinition Height="Auto" />
                  <RowDefinition Height="Auto" />
               </Grid.RowDefinitions>
               <Grid.ColumnDefinitions>
                  <ColumnDefinition Width="Auto" />
                  <ColumnDefinition Width="Auto" />
               </Grid.ColumnDefinitions>
               <Image Grid.RowSpan="2"
                               Source="{Binding ImageUrl}"
                               Aspect="AspectFill"
                               HeightRequest="60"
                               WidthRequest="60" />
               <Label Grid.Column="1"
                               Text="{Binding Name}"
                               FontAttributes="Bold" />
               <Label Grid.Row="1"
                               Grid.Column="1"
                               Text="{Binding Location}"
                               FontAttributes="Italic"
                               VerticalOptions="End" />
            </Grid>
         </DataTemplate>
      </CollectionView.ItemTemplate>
   </CollectionView>
</Grid>

截图