2017-07-14 53 views
0

我在Xamarin Forms中的网格内部有相对布局。相对布局中有一个图像。该图像具有AspectFill。图像没有用AspectFill在嵌套布局中水平填充

Xamarin.Forms.Aspect.AspectFill Field说:

缩放图像来填充视图。为了填充视图,可能会剪切某些部分。

图片仍未水平填充。如何解决它。

XAML

<Grid x:Name="controlGrid" ColumnSpacing="0" Padding="0"> 
    <Grid.RowDefinitions> 
     <RowDefinition Height="2*" /> 
     <RowDefinition Height="2*" /> 
     <RowDefinition Height="8*" /> 
     <RowDefinition Height="1*" /> 
    </Grid.RowDefinitions> 
    <Grid.ColumnDefinitions> 
     <ColumnDefinition Width="*" /> 
     <ColumnDefinition Width="*" /> 
    </Grid.ColumnDefinitions> 


    <!--Row 1--> 
    <BoxView Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="2" BackgroundColor="Red" HeightRequest="1" VerticalOptions="End" HorizontalOptions="FillAndExpand" Margin="0" /> 
    <BoxView Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="2" BackgroundColor="Red" HeightRequest="1" VerticalOptions="Start" HorizontalOptions="FillAndExpand" Margin="0"/> 
    <BoxView Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="2" BackgroundColor="Red" WidthRequest="1" VerticalOptions="FillAndExpand" HorizontalOptions="End" Margin="0"/> 
    <BoxView Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="2" BackgroundColor="Red" WidthRequest="1" VerticalOptions="FillAndExpand" HorizontalOptions="Start" Margin="0"/> 

    <RelativeLayout Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="2" > 
     <Image Source="abstracttrianglex.png" Aspect="AspectFill" HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand" BackgroundColor="Red"/> 
    </RelativeLayout> 

    <!--Row 2--> 
    <RelativeLayout Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="2" BackgroundColor="Teal" > 
     <Image Source="abstracttrianglex.png" Aspect="AspectFill" HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand" BackgroundColor="Blue"/> 
    </RelativeLayout> 

</Grid> 

enter image description here

回答

0

继工作

相对布局与约束

<RelativeLayout Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="2" > 
     <Image Source="abstracttriangleg.png" 
       Aspect="AspectFill" HorizontalOptions="FillAndExpand" 
       VerticalOptions="FillAndExpand" BackgroundColor="Red" 
       RelativeLayout.WidthConstraint= 
        "{ConstraintExpression Type=RelativeToParent, 
              Property=Width, 
              Factor=1}" 
       RelativeLayout.HeightConstraint= 
        "{ConstraintExpression Type=RelativeToParent, 
              Property=Height, 
          Factor=1}"/> 
    </RelativeLayout>