【问题标题】:Collapsable custom viewcell in ListView - Xamarin FormsListView 中的可折叠自定义视图单元 - Xamarin Forms
【发布时间】:2016-07-05 08:56:29
【问题描述】:

这适用于 Xamarin 表单 PCL 应用程序。

我正在寻找具有自定义视图单元的列表视图的解决方案,该视图单元在静态视图单元上显示一些数据,其中一部分应该可以根据按钮单击进行折叠。该按钮将与列表视图分开,单击它会显示或隐藏视图单元的某些部分。

要显示的数据将是动态的并且处于父子关系中。父数据是固定的。子数据包含子元素列表。它可以非常,即一个父级有 2 个子级,另一个有 1 个或 3 个。Viewcell 应该在 viewcell 上显示父级数据,并且在单击按钮时,它还应该在 viewcell 中显示子级数据。 viewcell 中的每个子数据占 1 行。它是列表(子列表)中的一种列表(父列表),但子列表将在单击显示按钮时显示,并且应在单击隐藏按钮时再次隐藏。

此视单元应在隐藏或显示模式下根据其内容调整高度,即在渲染后更改高度。

【问题讨论】:

    标签: listview xamarin.forms


    【解决方案1】:

    最简单的方法是在 ViewCell 中使用 XLabs 中的 RepeaterView。 类似这样的东西:

        <ListView ItemsSource="{Binding Parents}">
    
          <ListView.ItemTemplate>
            <DataTemplate>
              <ViewCell>
                <Grid>
                  <Label Text="Fixed Content" />
    
                    <xlabs:RepeaterView x:TypeArguments="local:ChildType" ItemsSource="{Binding Children}">
                      <xlabs:RepeaterView.ItemTemplate>
                        <DataTemplate>
                          <Grid>
                            <Button Text="{Binding ChildAction}">
                            </Button>
                          </Grid>
                        </DataTemplate>
                      </xlabs:RepeaterView.ItemTemplate>
                    </xlabs:RepeaterView>
    
                  </Grid>
                </ViewCell>
            </DataTemplate>
          </ListView.ItemTemplate>
    
        </ListView>
    

    【讨论】:

    • 我看到重复视图仅适用于 iOS 以及正在开发中的 android 和 windows。
    • 你可以在 Windows 上使用 OnPlatform 标签和使用 ItemsControl,比 xlabs repeater 好很多
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-09
    • 2021-09-04
    • 1970-01-01
    相关资源
    最近更新 更多