【发布时间】:2019-08-17 08:30:42
【问题描述】:
我有这个 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 项目部分显示,请检查屏幕截图:
我在列表视图中做错了什么?我是否需要添加一些边距/填充才能显示完整尺寸?
列表视图下方的按钮也不显示。
【问题讨论】:
-
试试设置
HasUnevenRows=True -
另外,在滚动视图中包含列表视图是个坏主意!
-
@shanranm 您能否详细说明为什么在滚动视图中包含列表视图是个坏主意?是的,选项 HasUnevenRows 等于 true 似乎可以解决问题。谢谢
-
它产生两个滚动,一个来自scrollview,一个来自listview,这可能会导致页面行为和尺寸问题。没有任何支持链接,只是出于经验。查看您的 xaml,我认为不需要外部滚动视图、网格和堆栈
-
在这种情况下,滚动视图、外部堆栈布局和网格似乎都是不必要的
标签: xaml xamarin xamarin.forms