Xaml 删除列表视图和Xamarin表单之间的间隙

Xaml 删除列表视图和Xamarin表单之间的间隙,xaml,xamarin,xamarin.forms,Xaml,Xamarin,Xamarin.forms,我在一个页面上有3个列表视图,我在每个列表视图之间都有一个间隙,我不知道为什么会有空格 这是我的密码: <Grid> <ScrollView > <StackLayout> <ListView HasUnevenRows="True" SeparatorColor="Red" ItemsSource="{Bindin

我在一个页面上有3个
列表视图
,我在每个
列表视图
之间都有一个间隙,我不知道为什么会有空格

这是我的密码:

<Grid>
    <ScrollView >
        <StackLayout>
            <ListView HasUnevenRows="True" 
                      SeparatorColor="Red" 
                      ItemsSource="{Binding GetAssignedTask}">
                <ListView.ItemTemplate>
                    <DataTemplate>
                        <ViewCell>
                            <StackLayout Orientation="Horizontal" 
                                         BackgroundColor="White"  >
                                <Image Source="rsz_pnglogocom.png"  />
                                <StackLayout>
                                    <Label Text="Task 1" 
                                           TextColor="Black" 
                                           FontSize="Medium" />
                                    <StackLayout Orientation="Horizontal">
                                        <Label Margin="0,0,70,0" 
                                               Text="{Binding dtStart,StringFormat='{0:MMMM dd, yyyy}'}"  
                                               TextColor="Red" 
                                               HorizontalOptions="Center"/>
                                        <Label Text="Waqas" 
                                               TextColor="Black" 
                                               HorizontalOptions="End"/>
                                    </StackLayout>
                                </StackLayout>
                            </StackLayout>
                        </ViewCell>
                    </DataTemplate>
                </ListView.ItemTemplate>
            </ListView>
            <StackLayout>
                <Label Text="test"/>
            </StackLayout>
            <ListView HasUnevenRows="True" 
                      SeparatorColor="Red" 
                      ItemsSource="{Binding GetAssignedTask}">
                <ListView.ItemTemplate>
                    <DataTemplate>
                        <ViewCell>
                            <StackLayout Orientation="Horizontal" 
                                         BackgroundColor="LightPink"  >
                                <Image Source="rsz_pnglogocom.png"  />
                                <StackLayout>
                                    <Label Text="Task 1" 
                                           TextColor="Black" 
                                           FontSize="Medium" />
                                    <StackLayout Orientation="Horizontal">
                                        <Label Margin="0,0,70,0"
                                               Text="{Binding dtStart,StringFormat='{0:MMMM dd, yyyy}'}"  
                                               TextColor="Red" 
                                               HorizontalOptions="Center"/>
                                        <Label Text="Waqas" 
                                               TextColor="Black" 
                                               HorizontalOptions="End"/>
                                    </StackLayout>
                                </StackLayout>
                            </StackLayout>
                        </ViewCell>
                    </DataTemplate>
                </ListView.ItemTemplate>
            </ListView>
        </StackLayout>
    </ScrollView>
</Grid>

我需要去掉这些空格,然后一个接一个地显示
listview
,您可以在下面的图片中查看它是如何显示
listview

有人能告诉我如何删除这些空间吗

应用程序开发人员不应该将一个ScrollView嵌套在另一个ScrollView中。 此外,它们应避免将它们嵌套在其他元素中 可以滚动的,例如WebView

资料来源:官方

嵌套的滚动视图是灾难性的,只是不要这样做。 哪个控件将在用户交互上滚动?这将彻底破坏用户体验、性能等

这里的空间是你所理解的最小的问题。你必须重新考虑你的用户界面。例如,您可以用单个分组的ListView替换ScrollView。或者,将顶层的
滚动视图
替换为一个
网格
,该网格将具有两个互不嵌套的
列表视图

回到您最初的问题,shared
XAML
示例有很多不必要的节点,我建议将其展平。例如,不要有多个
堆栈布局
而是通过一个包含多行的
网格
组织布局。这样会更有效,您的问题会得到解决,或者至少更容易理解和解决

应用程序开发人员不应该将一个ScrollView嵌套在另一个ScrollView中。 此外,它们应避免将它们嵌套在其他元素中 可以滚动的,例如WebView

资料来源:官方

嵌套的滚动视图是灾难性的,只是不要这样做。 哪个控件将在用户交互上滚动?这将彻底破坏用户体验、性能等

这里的空间是你所理解的最小的问题。你必须重新考虑你的用户界面。例如,您可以用单个分组的ListView替换ScrollView。或者,将顶层的
滚动视图
替换为一个
网格
,该网格将具有两个互不嵌套的
列表视图


回到您最初的问题,shared
XAML
示例有很多不必要的节点,我建议将其展平。例如,不要有多个
堆栈布局
而是通过一个包含多行的
网格
组织布局。这样,它将更高效,您的问题将得到解决,或者至少更容易理解和解决。

看起来您实际上不需要3个列表视图。除背景色外,视图具有相同的数据和布局。你对这个布局的具体意图是什么?我需要显示3个listview,因为每个listview绑定不同的数据啊,我的代码为listview显示相同的绑定,但它不是我对每个listview都有不同的绑定,我不认为它是可用的(或者没有一些平台渲染实现,我怀疑它甚至是可能的)。
ListView
有一个高度和一个内部“滚动面板”,它拥有这些项目。listview之间没有间隙,“间隙”位于第一个listview的未使用空间之间(项目不足)以及第二个列表的开头。对于要显示的每种数据,您应该使用分组的listview或handle
ItemTemplates
。如何设置3个listview的高度和滚动以在页面中显示看起来您实际上不需要3个listview。除背景色外,视图具有相同的数据和布局。你对这个布局的具体意图是什么?我需要显示3个listview,因为每个listview绑定不同的数据啊,我的代码为listview显示相同的绑定,但它不是我对每个listview都有不同的绑定,我不认为它是可用的(或者没有一些平台渲染实现,我怀疑它甚至是可能的)。
ListView
有一个高度和一个内部“滚动面板”,它拥有这些项目。listview之间没有间隙,“间隙”位于第一个listview的未使用空间(项目不足)和第二个listview的开头之间。对于要显示的每种数据,应使用分组listview或句柄
ItemTemplates
。如何设置3个listview的高度和滚动以在页面中显示