简体   繁体   English

如何为 CollectionView 设置背景图片

[英]How to set background image for CollectionView

How to set background image for collectionview in Xamarin.Forms?如何在 Xamarin.Forms 中为 collectionview 设置背景图像?

In Colletionview "Background" is a brush and I can not adjust the image source在Colletionview“背景”是一个画笔,我无法调整图像源

You can try this method:你可以试试这个方法:

  1. Set the CollectionView's background setting to transparent.将 CollectionView 的背景设置为透明。
<CollectionView ItemsSource="{Binding Monkeys}" BackgroundColor="Transparent">
  1. Put Grid on the upper level of the collection view.将 Grid 放在集合视图的上层。
<Grid>
   <CollectionView ItemsSource="{Binding Monkeys}" BackgroundColor="Transparent">
   ...
   </CollectionView>
</Grid>
  1. put a image view at the same level of the collection view.将图像视图放在集合视图的同一级别。
<Grid>
   <Image Source=""/>
   <CollectionView ItemsSource="{Binding Monkeys}" BackgroundColor="Transparent">
      <CollectionView.ItemTemplate>
      ...
   </CollectionView>
</Grid>

Page.xaml页.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>

Screenshot截屏

在此处输入图像描述

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM