【发布时间】:2019-10-18 15:42:17
【问题描述】:
我在 Xamarin Forms 中有一个列表视图,我需要保持纵横比,但也需要:
- 当图像的高度大于宽度时,图像向左和向右齐平显示,没有边距,高度为 auto
当图像宽于高时,要求是相同的,但这是可行的。在屏幕截图中,它显示了当图像高于宽时图像当前的渲染方式。当宽比高时,更改 aspect 属性会破坏条件。当我将此模板复制到空白页面时,图像显示正常。我认为问题在于能够将列表视图中每一行的高度设置为自动。但这可能不是问题。我正在为 Xamarin 使用 SyncFusion 列表视图
这里是listview的item模板的代码:
<DataTemplate>
<ViewCell>
<StackLayout Margin="0,10,0,10" VerticalOptions="FillAndExpand" HorizontalOptions="FillAndExpand">
<!-- Card Header -->
<!-- Truncated for brevity -->
</Grid>
<StackLayout Grid.Row="1">
<!-- Card title -->
<!-- Truncated for brevity -->
</StackLayout>
<!-- Card Body -->
<StackLayout BindingContextChanged="PostImageStackLayout_BindingContextChanged">
<Grid Grid.Row="2" x:Name="postImageStackLayout" Margin="0,15,0,10">
<!-- Card article image -->
<ffimageloading:CachedImage Grid.Row="0" x:Name="postImage" CacheDuration="1" HeightRequest="300"
Source="{Binding MainIMageURL}" BindingContextChanged="PostImage_BindingContextChanged"
VerticalOptions="FillAndExpand" HorizontalOptions="FillAndExpand"
Margin="0,10,0,10" FadeAnimationEnabled="True" Aspect="AspectFit" >
<ffimageloading:CachedImage.GestureRecognizers>
<TapGestureRecognizer Tapped="PostImageTapped" CommandParameter="{Binding }"/>
</ffimageloading:CachedImage.GestureRecognizers>
</ffimageloading:CachedImage>
</Grid>
</StackLayout>
<!--Likes and comment count-->
<!-- Truncated for brevity -->
【问题讨论】:
标签: xamarin xamarin.forms