Xamarin表单-XAML-ScrollView内容溢出父布局

问题描述

我有一个示例页面,该页面具有3行的外部网格。第一个和最后一个(顶部和底部)是我的页眉和页脚部分,在中间,我有一个StackLayout,然后有一个Frame(用于颜色),然后有一个ScrollView,在里面还有另一个StackLayout。

最里面的StackLayout有许多需要滚动的项目,但是,我的挑战是ScrollView-> StackLayout内部的内部项目不会受到其父对象的限制,而只是在我的标头和页脚。

奇怪的是,这才刚刚开始发生,它过去一直工作得很好,我不知道发生了什么变化。在代码方面,这是相同的...我很茫然,请帮助...下面是我的XAML

<?xml version="1.0" encoding="UTF-8"?>
<ContentView xmlns="http://xamarin.com/schemas/2014/forms" 
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             x:Class="Pro4Soft.MobileDevice.Plumbing.Screens.TestPage"
             VerticalOptions="FillAndExpand">
    <ContentView.Content>
        <Grid VerticalOptions="FillAndExpand" HorizontalOptions="FillAndExpand">
            <Grid.RowDeFinitions>
                <RowDeFinition Height="Auto"/>
                <RowDeFinition Height="*"/>
                <RowDeFinition Height="Auto"/>
            </Grid.RowDeFinitions>
            <Label x:Name="Title" Grid.Row="0" HorizontalTextAlignment="Center" HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand" FontAttributes="Bold" FontSize="Large">TEST PAGE</Label>
            <StackLayout Orientation="Vertical" HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand" Grid.Row="1">
                <Frame BackgroundColor="LightYellow" BorderColor="LightYellow" VerticalOptions="FillAndExpand" HorizontalOptions="FillAndExpand" Padding="5">
                    <ScrollView x:Name="Scroller">
                        <StackLayout x:Name="Container" Orientation="Vertical" Padding="1">
                            <Label Text="SUMMY TEXT"></Label>
                            <Label Text="SUMMY TEXT"></Label>
                            <Label Text="SUMMY TEXT"></Label>
                            <Label Text="SUMMY TEXT"></Label>
                            <Label Text="SUMMY TEXT"></Label>
                            <Label Text="SUMMY TEXT"></Label>
                            <Label Text="SUMMY TEXT"></Label>
                            <Label Text="SUMMY TEXT"></Label>
                            <Label Text="SUMMY TEXT"></Label>
                            <Label Text="SUMMY TEXT"></Label>
                            <Label Text="SUMMY TEXT"></Label>
                            <Label Text="SUMMY TEXT"></Label>
                            <Label Text="SUMMY TEXT"></Label>
                            <Label Text="SUMMY TEXT"></Label>
                            <Label Text="SUMMY TEXT"></Label>
                            <Label Text="SUMMY TEXT"></Label>
                            <Label Text="SUMMY TEXT"></Label>
                        </StackLayout>
                    </ScrollView>
                </Frame>
            </StackLayout>
            <StackLayout x:Name="ControlsContainer" Orientation="Horizontal" Grid.Row="2" HeightRequest="50" HorizontalOptions="FillAndExpand">
                <Button Text="Some btn"/>
            </StackLayout>
        </Grid>
    </ContentView.Content>
</ContentView>

这是正在发生的事情的屏幕截图

DUMMY TEXT OVERFLOWING PARENT COMPONENTS

enter image description here

解决方法

我检查了您的代码,它工作正常。 ScrollView运行正常。请参见下面的屏幕截图。

enter image description here

清理项目并删除bin / obj文件夹,然后重试。

,

我最终建立了一个全新的项目,并迁移了旧代码。然后它起作用了。我怀疑是一个未更新的Xamarin.Essentials软件包的老Nuget或类似的东西...