ScrollView 在 .net MAUI 中不滚动

Ali*_*raj 8 scrollview maui

我在 .NET MAUI 中使用 ScrollView 创建了下面的代码,当尝试滚动时没有任何反应。任何帮助,将不胜感激。

<ContentPage.Content>
        <StackLayout>
        <!--    <local:NavigationControl x:Name="_accountPage"/> -->
            <ScrollView VerticalScrollBarVisibility="Always">
            <StackLayout Margin="5" Spacing="20">
               
               --- some content 

                </StackLayout>
            </ScrollView>
        </StackLayout>
    </ContentPage.Content>
</ContentPage>
Run Code Online (Sandbox Code Playgroud)

问候,阿里

小智 20

The scroll view vertical options need to be FillAndExpand

  • 这对我不起作用。ScrollView 在 iOS 上不会滚动,直到我移动到横向然后再返回纵向。我正在运行 Microsoft Visual Studio Enterprise 2022(64 位) - 当前版本 17.3.6 和 Xamarin.iOS 版本 16.0.0.75。我的目标是net6.0-ios14.5。最低目标是 13.0。 (3认同)

use*_*164 8

我在将程序更新到 MAUI 时也遇到了这个问题。我查看了微软文档@ https://learn.microsoft.com/en-us/dotnet/maui/user-interface/controls/scrollview?view=net-maui-7.0

在此我发现了以下内容:

ScrollView 作为子布局

ScrollView 可以是不同父布局的子布局。

ScrollView通常是 Grid 的子级。ScrollView 需要特定的高度来计算其内容的高度与其自身高度之间的差异,该差异就是 ScrollView 可以滚动其内容的量。当 ScrollView 是 Grid 的子级时,它不会收到特定的高度。Grid 希望 ScrollView 尽可能短,即 ScrollView 内容的高度或零。要处理这种情况,包含 ScrollView 的 Grid 行的 RowDefinition应设置为*。这将导致 Grid 为 ScrollView 提供其他子级不需要的所有额外空间,然后 ScrollView 将具有特定的高度

因此,最后我将 ScrollView 从上面代码中引用的堆栈移动到 ScrollView 的行高为 * 的网格中,而其他组件的行高为 auto 。