Xamarin 表单 - 在 Android 上更改图像后,CarouselView 中的动态绑定图像丢失 Aspect.Fit

Xamarin forms - Dynamically-bound image in CarouselView lost Aspect.Fit after image change on Android

我正在使用 Xamarin 表单开发一个跨平台项目。我正在使用 carouselview 来显示图像按钮。请参阅下面的代码片段。 customImageButtonStyle 设置为 Aspect.Aspect.Fit。最初它按预期工作。但是,更改图像后,图像仍然显示,但变小了,即。不再 Aspect.Fit。如果我将相同的代码放在旋转木马视图之外,它就不会出现这样的问题。

    <StackLayout Grid.Row="0" Grid.Column="1" Orientation="Vertical" HorizontalOptions="CenterAndExpand">
                <Grid x:Name="relayGrid" HorizontalOptions="CenterAndExpand">
                    <Grid.RowDefinitions>
                        <RowDefinition Height="4.0*" />
                        <RowDefinition Height="1*" />
                    </Grid.RowDefinitions>
                    <views:CustomImageButton x:Name="relayButton" Source="{Binding RelayIcon}" Grid.Row="0" Grid.Column="0" 
                                             Style="{StaticResource customImageButtonStyle}"
                                             Command="{Binding NavigateCommand}" CommandParameter="{x:Type views:RelayPage}" />
                    <Label Text="RELAYS" Grid.Row="1" Grid.Column="0" Style="{StaticResource deviceHomeBottomTextStyle}" />
                </Grid>
                <StackLayout.GestureRecognizers>
                    <TapGestureRecognizer Command="{Binding NavigateCommand}" CommandParameter="{x:Type views:RelayPage}" />
                </StackLayout.GestureRecognizers>
            </StackLayout>
        </Grid>
    </x:Array>
</controls:CarouselViewControl.ItemsSource>

请注意,此问题也记录在 https://github.com/alexrainman/CarouselView/issues/561

这似乎是 Xamarin 表单问题。我尝试用图像替换图像按钮,问题消失了。当绑定的图像从视图模型更改时,有时 AspectFit 似乎不适用于 ImageButton。