Xamarin ScrollView在StackLayout中

时间:2019-11-26 10:44:14

标签: xamarin xamarin.forms

我有一个带有网格的视图,该网格由两个垂直放置的堆栈布局组成。 我希望第二个stacklayout具有scrollview的效果是因为我在页面模型侧动态构建其内容。构建第二个堆栈布局的内容后,在屏幕上,我只会看到第二个堆栈布局。我想看到第一和第二已经建立了滚动的可能性。有什么想法吗?

    <StackLayout VerticalOptions="StartAndExpand" Spacing="0">
                <Grid RowSpacing="0" ColumnSpacing="0">
                    <Grid.RowDefinitions>
                        <RowDefinition Height="Auto"></RowDefinition>
                        <RowDefinition Height="*"></RowDefinition>
                        <RowDefinition Height="Auto"></RowDefinition>
                    </Grid.RowDefinitions>
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="0.2*"></ColumnDefinition>
                        <ColumnDefinition Width="0.2*"></ColumnDefinition>
                        <ColumnDefinition Width="0.2*"></ColumnDefinition>
                        <ColumnDefinition Width="0.2*"></ColumnDefinition>
                        <ColumnDefinition Width="0.2*"></ColumnDefinition>
                    </Grid.ColumnDefinitions>
                    <StackLayout Spacing="0" VerticalOptions="StartAndExpand"
                                 Margin="0" Padding="0" Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="5">
<Some static content/>
                    </StackLayout>
                    <StackLayout Grid.Row="2" Grid.Column="0" Grid.ColumnSpan="5" Spacing="0" Margin="0">
                        <ScrollView>
                            <StackLayout x:Name="details">
                            </StackLayout>
                        </ScrollView>
                    </StackLayout>
                </Grid>
            </StackLayout>

2 个答案:

答案 0 :(得分:3)

网格行的定义错误。带有ScrollView的StackLayout应具有*高度,而另一个应具有Auto高度。

答案 1 :(得分:1)

<ScrollView>
  <StackLayout x:Name="details">
    Layout overflow is required. otherwise, it is not displayed.
    Add buttons for example.
  </StackLayout>
</ScrollView>