У меня возникли некоторые неполадки с FFImageLoading на xamarin, происходит следующее: изображение кажется отображаемым только тогда, когда страница перезагружается во второй раз (например, я покидаю страницу, затем нажимаю кнопку «назад»). Я уже пыталсяСначала загрузите эти изображения, прежде чем загружать ContentPage, но это не сработало. Я попытался ForceLayout, чтобы отобразить его, но он не сработал, хотя.
вот мой следующий код в представлении
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell Tapped="OnDetailsButtonClicked">
<Frame
Margin="2,2,2,2"
Padding="5"
BackgroundColor="White"
IsClippedToBounds="True">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="20*" />
<ColumnDefinition Width="60*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<ffimageloading:CachedImage
x:Name="profilePhoto"
Grid.Row="0"
Grid.Column="0"
Aspect="AspectFit"
HeightRequest="50"
HorizontalOptions="Center"
Source="{Binding CoworkerProfilePhoto}"
VerticalOptions="Center"
WidthRequest="50">
<ffimageloading:CachedImage.Transformations>
<fftransformations:CircleTransformation />
</ffimageloading:CachedImage.Transformations>
</ffimageloading:CachedImage>
....
Как вы можете видеть, что файл выжидалПеременная CoworkerProfilePhoto в моем списке ожидания.
эти изображения сохраняются на устройстве и затем отображаются на экране, это простое сохранение файла
public async static Task SaveImagem(this byte[] imagem, String nomeArquivo, IFolder pastaRaiz = null)
{IFolder pasta = pastaRaiz ?? FileSystem.Current.LocalStorage;
IFile arquivo = await pasta.CreateFileAsync(nomeArquivo, CreationCollisionOption.ReplaceExisting);
using (System.IO.Stream stream = await arquivo.OpenAsync(FileAccess.ReadAndWrite))
{
stream.Write(imagem, 0, imagem.Length);
}
}
Есть идеи? Я проверил эти две ссылки
https://github.com/luberda-molinet/FFImageLoading/issues/238
https://xamarin.github.io/bugzilla-archives/41/41087/bug.html
Это, похоже, связано, но ни одна из них не сработала тоже.