在我的移动应用程序中,声明了一个包含图像的列表:
<ListView ItemsSource="{Binding PhotosCollection}"
SelectionMode="Single"
VerticalOptions="FillAndExpand"
SelectedItem="{Binding SelectedPhotoDocument}">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<Grid Margin="4">
<Grid.RowDefinitions>
<RowDefinition Height="64" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Image Grid.RowSpan="2"
Grid.Column="0"
Source="{Binding ThumbnailImageSource}"
HorizontalOptions="Start"
VerticalOptions="Center"
Aspect="AspectFit" />
<Label Grid.Column="1"
Grid.RowSpan="2"
Text="{Binding Description}"
FontAttributes="Bold"
HorizontalOptions="Start"
VerticalOptions="Center"
HorizontalTextAlignment="Start"
VerticalTextAlignment="Center" />
</Grid>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
此列表在 Android 平台上完美运行,并显示图像和描述。但在iOS平台上,缩略图不被显示。仅显示描述。
如何克服这个问题?
为了解决此问题以使移动应用程序在 iOS 和 Android 上正常运行,我在
ImageCell
数据模板声明中使用了 Image
而不是 Label
和 ListView
标签。
<ListView
ItemsSource="{Binding PhotosCollection}"
SelectionMode="Single"
VerticalOptions="FillAndExpand"
SelectedItem="{Binding SelectedPhotoDocument}">
<ListView.ItemTemplate>
<DataTemplate>
<ImageCell
ImageSource="{Binding ThumbnailImageSource}"
Text="{Binding Description}" />
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
我用
MinimumHeightRequest="250"
解决了这个问题。