Issue
I would like to know how to deal with an error in CarouselView in Xamarin. I have written the following in Xaml and linked it to a group of photos.
<CarouselView
ItemsSource="{Binding PageImages}"
CurrentItem="{Binding CurrentPage}"
Position="{Binding CurrentPosition}"
>
<CarouselView.ItemTemplate >
<DataTemplate x:DataType="model:PageImage" >
<Image Source="{Binding ImageUrl}"
Aspect="AspectFit"
HorizontalOptions="Center" />
</DataTemplate>
</CarouselView.ItemTemplate>
</CarouselView>
I am using ViemModel stopwatch to replace the photos in a slide show.
private void OnStopWatchTick(object sender, ElapsedEventArgs e)
{
CurrentPosition++;
}
In this case, if the photos fail to load, the application crashes. Where do I try-catch in the code to catch the error when the photos fail to load?
Xamarin.Forms 5.0.0.2337 Xamarin.Essentials 1.7.1
Solution
I would suggest you try the plugin : https://github.com/luberda-molinet/FFImageLoading .
Use CachedImage instead of built in Image
, since it would display a default placeholder image if the load is failed ,so in this case it will not crash .
xmlns:ffimageloading="clr-namespace:FFImageLoading.Forms;assembly=FFImageLoading.Forms"
<DataTemplate x:DataType="model:PageImage" >
<ffimageloading:CachedImage
HorizontalOptions="Center"
WidthRequest="300"
HeightRequest="300"
DownsampleToViewSize="true"
Source = Source="{Binding ImageUrl}"
LoadingPlaceholder = "loading.png" >
</ffimageloading:CachedImage>
</DataTemplate>
Answered By - ColeX - MSFT
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.