0

我正在使用单个创建 xamarin.forms 页面ListView。每个列表项模板由一个StackLayout包含 3 StackLayouts 的垂直组成。问题是:我只能看到前两个堆栈布局,第三个被隐藏或剪切或跳过,我不知道,我看不到它。

  <ContentPage.Content>
        <ListView x:Name="RoutesList" ItemsSource="{Binding Routes}">
            <ListView.ItemTemplate>
                <DataTemplate>
                    <ViewCell> 
                        <StackLayout BackgroundColor="#eee" Orientation="Vertical" Padding="5,0,0,5" VerticalOptions="FillAndExpand">

                            <StackLayout Orientation="Horizontal" VerticalOptions="StartAndExpand">
                                <Label Text="{Binding Name}" FontAttributes="Bold"></Label>
                                <Label Text="{Binding StartDate}" HorizontalOptions="EndAndExpand"></Label>
                            </StackLayout>

                            <StackLayout Orientation="Horizontal" BackgroundColor="#f94" >
                                <Label Text="{Binding RouteType}" FontAttributes="Bold"></Label>
                            </StackLayout>

                            <StackLayout Orientation="Horizontal" VerticalOptions="EndAndExpand">
                                <Label Text="{Binding CreatorFirstName}" FontAttributes="Bold" HorizontalOptions="EndAndExpand"></Label>
                                <Label Text="{Binding CreatorLastName}" FontAttributes="Bold" HorizontalOptions="End"></Label>
                            </StackLayout>

                        </StackLayout>
                    </ViewCell>
                </DataTemplate>
            </ListView.ItemTemplate>
        </ListView>
    </ContentPage.Content>

如何正确设置布局属性,以便所有堆栈布局及其项目内容适合?所有绑定属性都是常规字符串\日期。我知道有,GridLayout但我想知道如何使用StackLayouts

4

1 回答 1

1

您需要将 的RowHeight属性设置为ListView将显示所有项目的内容。或者,您可以设置HasUnevenRows为 true,但这是一个明显较慢的选​​项。

于 2019-10-03T23:02:33.220 回答