ScrollView 内的网格高度问题

Issue with Grid height, inside a ScrollView

我在 ScrollView 中有一个 Grid

行高设置为自动,因为根据里面的文本,行可以有更大的高度。

用户可以根据需要添加行,但我想在网格上保留一些文本,所以我将网格放在滚动视图中,这样,网格在屏幕上的大小相同,并且用户可以滚动浏览行。

我的问题是,因为我的网格没有固定高度(我不希望它固定在 10 000,例如,如果只有 2 行),它只是采用 scollview 高度,如果没有足够的行,我的行将被截断 space,而不是采用他们需要的大小,扩大滚动视图。

编辑:第一张图片,网格高度固定为 2000,滚动视图效果很好,但行下有空 space(黄色背景是滚动视图的背景色)

第二张图片,我删除了网格高度,现在,网格仅采用滚动视图高度 (500),如果我的行需要更多 space,它们将被截断

此外,我的滚动视图甚至无法滚动了

你们有什么想法吗?谢谢:)

编辑:

这里的结构,自动行高的Grid变成高度固定的scrollview

 <ScrollView HeightRequest="500" BackgroundColor="Yellow">
    <Grid x:Name="gridLignes" BackgroundColor="#E8E8E8">
                        <Grid.RowDefinitions>
                           <RowDefinition Height="Auto"/>
                        </Grid.RowDefinitions>
                     
   </Grid>
</ScrollView>

作为一种解决方法,我将网格高度固定为 2000,但是我的滚动视图中有无用的空白 space :/

我认为我的问题来自于我使用网格的方式。我试图将我的网格放在滚动视图之外,让默认的网格高度和我的行具有自动高度,但它仍然无法正常工作。

但是,如果行的高度为自动高度,网格应该采用其子元素所需的 space。

我使用网格的方式是:

-创建默认模板行。在每一列中,都有控件(条目、选择器等)。然后,我在我的网格中添加了这个模板 4 次。

-当值发生变化时,根据所选项目,一些文本会显示在另一列中(这就是我需要自动高度的原因)。 要添加此文本,我直接访问网格子项 (grid.Children[i]) 并且更改为值,因此,在添加文本之前该行就在这里。

也许我需要删除该行,用正确的值重新创建它,然后再次将它添加到我的网格中。

我稍后会尝试这个,并会更新这个案例。也许有人会遇到和我一样的问题

所以,我设法让它发挥作用!

我的编辑器发生变化后,我检查每一行中每个编辑器的高度,并用这个值定义我的网格高度(当然还要加上行间距)。

因此,我的网格作为固定高度(重新计算),所以我的滚动视图是可滚动的,没有被截断!

如果它可以帮助别人:)