Не уверен, что делает ваш контроль controls:GridView
. Но размер, данный этим взглядом его детям, кажется, проблема здесь. Я заменил этот элемент управления сеткой и получил ту же проблему.
Причина в том, что вы установили WidthRequest
для этого элемента управления, который не требуется. Это ограничит ширину. Удалите WidthRequest
и замените его на HorizontalOptions
как StartAndExpand
. Это позволит элементу управления принять любой размер, предложенный его родителем. Это работало нормально для меня.
Примечание. Если вы хотите, чтобы ваше представление принудительно заполняло доступное пространство, используйте значение FillAndExpand
для вашего свойства VerticalOptions
и HorizontalOptions
вашего представления.
Пожалуйста, найдите код ниже.
<Grid Padding="5" BackgroundColor="LightGray">
<ScrollView Padding="5" BackgroundColor="Red">
<Grid BackgroundColor="Aqua" ColumnSpacing="10" Padding="5" RowSpacing="5"
HorizontalOptions="StartAndExpand" VerticalOptions="Start">
<Grid Margin="5,5,0,0" BackgroundColor="Pink">
<StackLayout Orientation="Vertical" HorizontalOptions="StartAndExpand">
<StackLayout Orientation="Horizontal" Margin="10,10,10,10" HorizontalOptions="Center" VerticalOptions="Center" BackgroundColor="Yellow">
<Image HeightRequest="100" WidthRequest="50" Source="github.png"/>
<Image HeightRequest="100" WidthRequest="50" Source="github.png"/>
<Image HeightRequest="100" WidthRequest="50" Source="github.png"/>
<Image HeightRequest="100" WidthRequest="50" Source="github.png"/>
<Image HeightRequest="100" WidthRequest="50" Source="github.png"/>
</StackLayout>
<Label Text="Name" FontSize="Large" FontAttributes="Bold" HorizontalTextAlignment="Center"
VerticalTextAlignment="End" TextColor="Black"/>
</StackLayout>
</Grid>
</Grid>
</ScrollView>
</Grid>
Ниже приведен вывод, который я получил.
Надеюсь, это поможет вам.