Android Xamarin ListView呈现空白/行
通常,列表需要更多的空间。基本上,问题是如何避免空间浪费(屏幕上是粉红色的) 有一个xaml:Android Xamarin ListView呈现空白/行,android,ios,listview,xamarin,xamarin.forms,Android,Ios,Listview,Xamarin,Xamarin.forms,通常,列表需要更多的空间。基本上,问题是如何避免空间浪费(屏幕上是粉红色的) 有一个xaml: <ContentPage.Content> <ScrollView> <StackLayout VerticalOptions="FillAndExpand"> <Image Source="{Binding Image}" /> &l
<ContentPage.Content>
<ScrollView>
<StackLayout VerticalOptions="FillAndExpand">
<Image Source="{Binding Image}" />
<Label Text="{Binding Item.Text}" FontSize="Medium"/>
<Label Text="{Binding Item.Description}" FontSize="Small"/>
<Label Text="Variables" FontSize="Medium"/>
<ListView ItemsSource="{Binding Variables}" ItemSelected="ListView_ItemSelected" HasUnevenRows="True" IsPullToRefreshEnabled="False" BackgroundColor="Pink">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<StackLayout BackgroundColor="Red" >
<Label Text="{Binding Name}" />
<Entry Text="{Binding Value}" Placeholder="{Binding Name}" />
</StackLayout>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
<Button Command="{Binding ExecuteCommand}" Text="Execute" />
</StackLayout>
</ScrollView>
</ContentPage.Content>
非常简单,但列表视图(ios和android)呈现为空白,列表标记为粉红色,行显示为红色:
当列表为空时
当列表较小时
在此,将ListView放在ScrollView中通常被认为是不好的做法,因为两者都有滚动事件,但由于ListView本身已经有一个ScrollView,所以不能很好地共存。@StevenThewissen有没有办法/实践来呈现输入列表?它是固定列表吗?如果是这样,您可以使用
TableView
,并将其Intent
属性设置为Form
。如果需要动态,您可以通过页面代码隐藏动态添加入口。您仍然可以这样设置绑定。Xamarin.Forms中的ListView并不是根据其内容来改变其高度的。这是根据我过去与Xamarin员工的对话设计的。另外,我想回应@StevenThewissen,说滚动视图中的ListView是非常不受欢迎的。我建议您使用StackLayout,因为ListView无法根据内容调整高度。您可以根据内容将子项添加到StackLayout中。