Xamarin 表单列表通过对象列表控件

Xamarin 表单列表通过对象列表控件,xamarin,xamarin.forms,Xamarin,Xamarin.forms,Xamarin中的哪个控件可用于通过带有左右箭头的对象列表(如屏幕截图上的对象)进行列表 Xamarin.Forms CollectionView怎么样 CollectionView有一个灵活的布局模型,允许在列表或网格中垂直或水平显示数据 CollectionView支持单选和多选 CollectionView没有单元格的概念。相反,数据模板用于定义列表中每个数据项的外观 CollectionView自动利用底层本机控件提供的虚拟化 CollectionView减少了ListView的API

Xamarin中的哪个控件可用于通过带有左右箭头的对象列表(如屏幕截图上的对象)进行列表


Xamarin.Forms CollectionView怎么样

  • CollectionView有一个灵活的布局模型,允许在列表或网格中垂直或水平显示数据
  • CollectionView支持单选和多选
  • CollectionView没有单元格的概念。相反,数据模板用于定义列表中每个数据项的外观
  • CollectionView自动利用底层本机控件提供的虚拟化
  • CollectionView减少了ListView的API表面。CollectionView中不存在ListView中的许多属性和事件
  • CollectionView不包括内置分隔符

请参阅。

如果箭头是一项要求,而您的控制项不多(10项或更少),则
旋转视图与您的要求完全匹配。您甚至可以使用
ShowArrows
属性显示箭头

尽管要小心,因为这个组件不会回收它的视图,这就是为什么它只适用于少量视图的原因

如果视图数量较多,可将此
HorizontalListView
Carousel
列表布局一起使用:


在Xmarin.forms中没有这样的控件。但是您可以自己实现它

在xaml中



你可以用。当您单击按钮时,可以更改其
位置。如果您想自己设置按钮图像,可以添加图像或使用图像按钮。或者您可以使用CarouselView的默认箭头。

您指的是类似于carousel视图的箭头吗?
<Grid VerticalOptions="FillAndExpand" HorizontalOptions="FillAndExpand">
  <Grid.RowDefinitions>

  </Grid.RowDefinitions>

 <Grid.ColumnDefinitions>
     <ColumnDefinition Width="0.15*" />
     <ColumnDefinition Width="0.7*" />
     <ColumnDefinition Width="0.15*" />           
 </Grid.ColumnDefinitions>

 <StackLayout Grid.Column="0" VerticalOptions="CenterAndExpand" HorizontalOptions="CenterAndExpand">
     <Image Source="xxx" x:Name="rightBtn"/>   
 </StackLayout>

 <controls:CarouselViewControl Grid.Column="1" Orientation="Horizontal" InterPageSpacing="10" Position="{Binding myPosition}" ItemsSource="{Binding myItemsSource}" VerticalOptions="FillAndExpand" HorizontalOptions="FillAndExpand">
     <controls:CarouselViewControl.ItemTemplate>
        <DataTemplate>
         <local:MyView />
         <!-- where MyView is a ContentView -->
        </DataTemplate>
     </controls:CarouselViewControl.ItemTemplate>
  </controls:CarouselViewControl>

  <StackLayout Grid.Column="2" VerticalOptions="CenterAndExpand" HorizontalOptions="CenterAndExpand">
     <Image Source="xxx" x:Name="leftBtn"/>
  </StackLayout>

</Grid>