首页 > 解决方案 > Xamarin.Forms:将导航栏(标题)绑定到列表视图并使其随列表上下滚动

问题描述

我正在尝试实现我在许多应用程序上看到的效果 - 但似乎无法在谷歌上找到解决方案,或者我的措辞错误?

您可能见过应用程序,其中有一个大标题(不一定是导航栏),当该页面内的列表视图向下滚动时,它会滚动到视图之外。只要用户在列表视图内的任何点向上滚动,标题就会随着列表视图向后滚动。我想达到同样的效果:

我有这个列表视图:

 <flv:FlowListView  
                    Grid.Column="1"
                    FlowItemAppearing="listview_allAds_FlowItemAppearing"
                    FlowIsLoadingInfiniteEnabled="True"
                    Refreshing="listview_allAds_Refreshing"
                    FlowColumnCount="2"
                    IsPullToRefreshEnabled="True"
                    Margin="0,0,0,0"
                    VerticalScrollBarVisibility="Never"
                    FlowItemTapped="listview_allAds_FlowItemTapped"
                    HasUnevenRows="True"
                    x:Name="listview_allAds" >

                    <flv:FlowListView.FlowColumnTemplate>
                        <DataTemplate>

                            <ContentView Padding="4,3,3,4">

<!-- contents-->
                            </ContentView>



                        </DataTemplate>
                    </flv:FlowListView.FlowColumnTemplate>
                </flv:FlowListView>

这个标题:

        <ScrollView  BackgroundColor="#B9CAD4" Orientation="Horizontal" HorizontalScrollBarVisibility="Never">
          
            <Grid Margin="0,5,0,5" ColumnSpacing="0">


                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="auto"/>
                    <ColumnDefinition Width="auto"/>
                    <ColumnDefinition Width="auto"/>
                    <ColumnDefinition Width="auto"/>
                </Grid.ColumnDefinitions>

                <Grid Margin="2,0,2,0"  Grid.Column="0">
                </Grid>

            </Grid>
            


     


        </ScrollView>

但是,当然,两种布局都是固定的:

我如何将这两种布局绑定在一起,以使一种布局影响另一种并显示更多空间?

谢谢!

在此处输入图像描述

标签: listviewxamarin.forms

解决方案


您可以设置 ListView 的Header。在您的情况下,您使用了第三方插件。你也可以像下面这样设置它

<flv:FlowListView.Header>

   <!-- contents-->
   //set the content View of header here
 
</flv:FlowListView.Header>

推荐阅读