在 Xamarin Forms 的代码隐藏中设置背景图像方面

Set Background Image Aspect in Code Behind in Xamarin Forms

在我的 Xamarin Forms 5 应用程序中,我使用以下代码在代码后面设置了背景图片:

[XamlCompilation(XamlCompilationOptions.Compile)]
public partial class MyPage : ContentPage
{
   public MyPage()
   {
      InitializeComponent();
      this.BackgroundImageSource = "my_bg_image.jpg";
   }
}

如何在code behind中设置图像纵横比?我需要将它设置为 AspectFill.

您可以设置 xaml 中任何元素的 any 属性,方法是给该元素一个 x:Name.

<Image x:Name="myImage" ... />

c#:

myImage.Aspect = Aspect.AspectFill;

如@ToolmakerSteve 所述,无法为 BackgroundImageSource 设置 Aspect。以下代码在正确设置背景图像和处理 iOS.

上覆盖表单元素问题的键盘方面都工作正常
<RelativeLayout>
   <Image
      Source="my_background_image.jpg"
      Aspect="AspectFill"
      RelativeLayout.WidthConstraint="{ConstraintExpression Type=RelativeToParent, Property=Width}"
      RelativeLayout.HeightConstraint="{ConstraintExpression Type=RelativeToParent, Property=Height}"/>
   <ScrollView
      Orientation="Neither"
      Padding="0"
      RelativeLayout.WidthConstraint="{ConstraintExpression Type=RelativeToParent, Property=Width}"
      RelativeLayout.HeightConstraint="{ConstraintExpression Type=RelativeToParent, Property=Height}">
   // Place my form elements here. In my case, I use Grid
   </ScrollView>
</RelativeLayout>