gpt4 book ai didi

xamarin - 如何在Xamarin Carousel中将所有项目模板数据设置到单个 View 中

转载 作者:行者123 更新时间:2023-12-02 02:40:09 26 4
gpt4 key购买 nike

我试图将itemtemplate中的所有项目制作成一个单一的 View ,如下图所示,如何通过使用Xamarin CarouselView实现此目的,我正在像这样使用

        carousel = new CarouselView();
carousel.BindingContext = this;
carousel.ItemTemplate = itemTemplate;
carousel.SetBinding(CarouselView.ItemsSourceProperty, new Binding(nameof(this.Items), mode: BindingMode.OneWay));
LinearItemsLayout linearItemsLayout = new LinearItemsLayout(ItemsLayoutOrientation.Horizontal);
linearItemsLayout.SnapPointsAlignment = SnapPointsAlignment.Start;
linearItemsLayout.SnapPointsType = SnapPointsType.Mandatory;
carousel.ItemsLayout = linearItemsLayout;


this.Children.Add(carousel,0,1);

Expected UI

But the Actual image is

最佳答案

做这样的最简单的方法是使用Horizo​​ntal CollectionView

通过将其ItemsLayout属性设置为Horizo​​ntalList,CollectionView可以在水平列表中显示其项目:

当您检查文件时,它提供了类似的示例

<CollectionView ItemsSource="{Binding Monkeys}"
ItemsLayout="HorizontalList">
<CollectionView.ItemTemplate>
<DataTemplate>
<Grid Padding="10">
<Grid.RowDefinitions>
<RowDefinition Height="35" />
<RowDefinition Height="35" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="70" />
<ColumnDefinition Width="140" />
</Grid.ColumnDefinitions>
<Image Grid.RowSpan="2"
Source="{Binding ImageUrl}"
Aspect="AspectFill"
HeightRequest="60"
WidthRequest="60" />
<Label Grid.Column="1"
Text="{Binding Name}"
FontAttributes="Bold"
LineBreakMode="TailTruncation" />
<Label Grid.Row="1"
Grid.Column="1"
Text="{Binding Location}"
LineBreakMode="TailTruncation"
FontAttributes="Italic"
VerticalOptions="End" />
</Grid>
</DataTemplate>
</CollectionView.ItemTemplate>

另外,也可以通过将ItemsLayout属性设置为LinearItemsLayout对象,将Horizo​​ntal ItemsLayoutOrientation枚举成员指定为Orientation属性值来完成此布局:
<CollectionView ItemsSource="{Binding Monkeys}">
<CollectionView.ItemsLayout>
<LinearItemsLayout Orientation="Horizontal" />
</CollectionView.ItemsLayout>
...
</CollectionView>

这将产生一个单行列表,该列表随着添加新项目而水平增长:

enter image description here

关于xamarin - 如何在Xamarin Carousel中将所有项目模板数据设置到单个 View 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60051190/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com