xaml - Xamarin 表单列表视图项目未完全显示
问题描述
我有这个 Xamarin 列表视图:
<ContentPage.Content>
<ScrollView>
<StackLayout Padding="20,20,20,20">
<Grid>
<StackLayout Margin="10">
<Label Text="Quoting and Tankering" Style="{DynamicResource TitleStyle}" Margin="0, 20" HorizontalTextAlignment="Center" />
<Label Text="Select Aircraft:" />
<Picker Margin="30, 0, 0, 30" x:Name="pickerAircraft" ItemDisplayBinding="{Binding TailNumber}" SelectedItem="{Binding Id}" SelectedIndexChanged="PickerAircraft_SelectedIndexChanged" Title="Aircraft Selector"></Picker>
<Button Text="Add Leg" Margin="10,10,10,10" TextColor="Green" Clicked="Button_Clicked_1" />
<ListView ItemsSource="{Binding .}" VerticalOptions="Center">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<StackLayout Padding="10,10,10,10" HeightRequest="100">
<Label Text="Leg" />
<StackLayout Orientation="Horizontal" HeightRequest="100">
<Entry x:Name="txtICAO" WidthRequest="30" Text="{Binding ICAO}" />
<Button Text="Delete" WidthRequest="50" Clicked="Button_Clicked_2" x:Name="btn_Delete_Item_In_Cart" />
</StackLayout>
</StackLayout>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
<Button Text="Go to Step 2"
VerticalOptions="CenterAndExpand"
HorizontalOptions="Center"
Clicked="Button_Clicked" />
</StackLayout>
</Grid>
</StackLayout>
</ScrollView>
</ContentPage.Content>
现在,当我渲染页面时,列表视图项目部分显示,请检查屏幕截图:
我在 listview 上做错了什么?我是否需要添加一些边距/填充才能显示完整尺寸?
列表视图下方的按钮也未显示。
解决方案
如果您希望所有行占用相同的空间,您可以将 Listviews 设置RowHeight
为特定数字。
或者
放HasUnevenRows = "true"
尽管如此,您不应该将 ListView 放在 ScrollView 中,因为 ListView 类实现了自己的滚动,并且它只是不接收手势,因为它们都由父 ScrollView 处理。
推荐阅读
- keycloak - Keycloak 2 条件验证器
- c++ - 对于每种类型,使用每种类型调用模板函数
- ocaml - OCaml 从文件中读取并执行一些验证
- go - Golang中如何使用reflect和interface{}实现带参数的方法的多态性?
- linux - 在 KDE 中通过 KB 快捷方式调用 bash 脚本不会运行脚本中的所有命令
- unity3d - 如何使用 Google Cloud Platform 为虚拟 Unity/C# 开发团队设置多个环境?
- timestamp - 如何验证邮递员范围内的时间戳?
- python - 文件中的多处理读取行
- caddy - Caddyfile 重写 /foo /bar#locationOnPage
- vue.js - Nuxt - 是否可以检查用户是否从 SSR 登录?