Xamarin 为什么stacklayout内容会重叠?
我有一个带有滚动视图、堆栈布局、旋转木马视图和一些标签的内容页。当堆栈布局内容获得足够的元素时(如示例中通过复制元素所示),所有内容似乎都开始在旋转木马视图的顶部“分层”。图像似乎没有缩放,只是被截断。我对XAML相对缺乏经验,所以我可能做错了什么Xamarin 为什么stacklayout内容会重叠?,xamarin,xamarin.ios,Xamarin,Xamarin.ios,我有一个带有滚动视图、堆栈布局、旋转木马视图和一些标签的内容页。当堆栈布局内容获得足够的元素时(如示例中通过复制元素所示),所有内容似乎都开始在旋转木马视图的顶部“分层”。图像似乎没有缩放,只是被截断。我对XAML相对缺乏经验,所以我可能做错了什么 <ContentPage.Content> <ScrollView> <StackLayout Margin="20"> <cv:CarouselView It
<ContentPage.Content>
<ScrollView>
<StackLayout Margin="20">
<cv:CarouselView ItemsSource="{Binding imgs}"
x:Name="CarouselImgs">
<cv:CarouselView.ItemTemplate>
<DataTemplate>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Image HeightRequest="200"
Aspect="AspectFill"
Source="{Binding ImageUrl}"/>
</Grid>
</DataTemplate>
</cv:CarouselView.ItemTemplate>
</cv:CarouselView>
<Label TextColor="Blue"
Text="{Binding SellerName,
StringFormat='Seller: {0}'}"
x:Name="lblSeller"/>
<Label Text="{Binding ItemID, StringFormat='Item #{0}'}"/>
<Label Text="{Binding Title, StringFormat='Title: {0}'}"
HeightRequest="15" HorizontalOptions="Center" FontSize="Small"/>
<Label Text="{Binding ItemID, StringFormat='Item #{0}'}"/>
<Label Text="{Binding Title, StringFormat='Title: {0}'}"
HeightRequest="15"
HorizontalOptions="Center"
FontSize="Small"/>
<Label Text="{Binding ItemID, StringFormat='Item #{0}'}"/>
<Label Text="{Binding Title, StringFormat='Title: {0}'}"
HeightRequest="15"
HorizontalOptions="Center"
FontSize="Small"/>
<Label Text="{Binding ItemID, StringFormat='Item #{0}'}"/>
<Label Text="{Binding Title, StringFormat='Title: {0}'}"
HeightRequest="15"
HorizontalOptions="Center"
FontSize="Small"/>
<Label Text="{Binding ItemID, StringFormat='Item #{0}'}"/>
<Label Text="{Binding Title, StringFormat='Title: {0}'}"
HeightRequest="15"
HorizontalOptions="Center"
FontSize="Small"/>
<Label Text="{Binding ItemID, StringFormat='Item #{0}'}"/>
<Label Text="{Binding Title, StringFormat='Title: {0}'}"
HeightRequest="15"
HorizontalOptions="Center"
FontSize="Small"/>
<Label Text="{Binding ItemID, StringFormat='Item #{0}'}"/>
<Label Text="{Binding Title, StringFormat='Title: {0}'}"
HeightRequest="15"
HorizontalOptions="Center"
FontSize="Small"/>
<Label Text="{Binding ItemID, StringFormat='Item #{0}'}"/>
<Label Text="{Binding Title, StringFormat='Title: {0}'}"
HeightRequest="15"
HorizontalOptions="Center"
FontSize="Small"/>
<Label Text="{Binding ItemID, StringFormat='Item #{0}'}"/>
<Label Text="{Binding Title, StringFormat='Title: {0}'}"
HeightRequest="15"
HorizontalOptions="Center"
FontSize="Small"/>
<Label Text="{Binding ItemID, StringFormat='Item #{0}'}"/>
<Label Text="{Binding Title, StringFormat='Title: {0}'}"
HeightRequest="15"
HorizontalOptions="Center"
FontSize="Small"/>
</StackLayout>
</ScrollView>
</ContentPage.Content>
您是否正在使用此插件:?如果是这样,我建议您直接设置
cv:CarouselView
的HeightRequest
以显示CarouselView
您之所以说图像被截断是因为您将Aspect
设置为AspectFill
。它将缩放内容以填充视图的大小。可以剪裁部分内容以填充视图的边界
如果要缩放图像以适应图像大小,可以尝试
Fill
这肯定是HeightRequest属性…将其设置为更大是关键。非常感谢。