如何在xamarin.forms中将背景图像设置为网格?

时间:2018-05-21 08:38:51

标签: xamarin.forms grid background-image

我想在背后的代码中为我的Grid设置背景图片。我在互联网上发现我们可以像这样使用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 >

但是如何在代码背后设置它。我看不到Image的任何BackgroundImageGrid属性。请帮我。 感谢

1 个答案:

答案 0 :(得分:1)

您可以在Image中创建一个空的Grid元素并进行设置。

<Grid>
    <Image x:Name="BackgroundImage" Aspect="AspectFit" />
    <!-- Place here the rest of the layout for the page. -->
</Grid>

现在在代码中设置它:

backgroundImage.Source = ...;

如果要在代码中构建整个UI,也可以这样做:

var myGrid = new Grid();
var backgroundImage = new Image();
backgroundImage.Source = ...;
myGrid.Children.Add( backgroundImage );

如果您的Grid有多个行和列,则需要在图片上设置Grid.ColumnSpanGrid.RowSpan属性,使其跨越整个网格。