В Xamarin.Свойство BackgroundImage страницы форм

Как вы должны установить фоновое изображение для страницы, так как BackgroundImage является строкой? Я был бы весьма признателен за любые предложения.

до сих пор я пробовал:

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

который не работает. Файл изображения находится в проекте PCL.

3 ответов


Если я не ошибаюсь вы не можете обмениваться ресурсами. вы должны поместить изображение в определенную папку платформы и использовать BackgroundImage = "image.png" без Images/

EDIT:

Кажется, я отчасти ошибся.

можно обмениваться изображениями, вставляя их вместо того, чтобы иметь несколько копий для разных платформ: https://developer.xamarin.com/guides/xamarin-forms/working-with/images/#Embedded_Images


Если вам нужно решение, которое позволяет изменить AspectRatio и настроить изображение вы можете использовать это:

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>

установить изображение на странице:

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

Теперь вам нужно добавить свое изображение на каждой платформе:

iOS

Test.iOs > Resources > bg.png

Android

Test.Driod > Resources > bg.png