web-dev-qa-db-fra.com

Xamarin.Forms Page BackgroundImage, propriété

Comment êtes-vous censé définir l'image d'arrière-plan d'une page, car BackgroundImage est une chaîne? J'apprécierais grandement toute suggestion.

Jusqu'à présent, j'ai essayé:

MainPage = new ContentPage 
{
    BackgroundImage = "Images/image.png"
}

qui ne fonctionne pas. Le fichier image se trouve dans le projet PCL.

14
mkkekkonen

Si je ne me trompe pas, vous ne pouvez pas partager les ressources. vous devez placer l'image dans le dossier Platform Specific et utiliser BackgroundImage = "image.png" sans pour autant Images/

MODIFIER:

Il semble que je me sois trompé en partie.

Il est possible de partager des images en les incorporant au lieu d'avoir plusieurs copies pour différentes plateformes: https://developer.xamarin.com/guides/xamarin-forms/working-with/images/#Embedded_Images

11
arsena

Si vous avez besoin d'une solution qui vous permet de modifier AspectRatio et d'ajuster l'image, vous pouvez l'utiliser:

XAML:

<?xml version="1.0" encoding="UTF-8"?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.Microsoft.com/winfx/2009/xaml" x:Class="Pages.PhotoPage">
        <Grid >
            <Image Source="background.png" Aspect="AspectFit" />
            <!-- Place here the rest of the layout for the page. -->
        </Grid >
</ContentPage>
8
jzeferino

Pour définir l'image sur une page:

<Image Source="bg"></Image>

Vous devez maintenant ajouter votre image sur chaque plateforme:

iOS

Test.iOs > Resources > bg.png

Android

Test.Driod > Resources > bg.png
1
LeRoy