如何处理 Xamarin 中 CarouselView 的错误?

How to deal with an error in CarouselView in Xamarin?

我想知道如何处理 Xamarin 中 CarouselView 的错误。 我在Xaml中写了以下内容并链接到一组照片。

            <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>

我正在使用 ViemModel 秒表替换幻灯片中的照片。

        private void OnStopWatchTick(object sender, ElapsedEventArgs e)
        {
            CurrentPosition++;
        }

在这种情况下,如果照片加载失败,应用程序会崩溃。 当照片加载失败时,我在代码中的 try-catch 哪里捕获错误?

Xamarin.Forms 5.0.0.2337 Xamarin.Essentials1.7.1

我建议你试试这个插件:https://github.com/luberda-molinet/FFImageLoading .

使用CachedImage而不是内置Image,因为如果加载失败它会显示一个默认的占位符图像,所以在这种情况下它不会崩溃。

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>