ListView中的可折叠自定义视单元 - Xamarin Forms

时间:2016-07-05 08:56:30

标签: listview xamarin.forms

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

我正在寻找具有listview的解决方案,该viewview具有自定义viewcell,其在静态viewcell上显示一些数据,并且部分数据应该基于按钮点击可折叠。按钮与列表视图分开,点击它会显示或隐藏视单元的某些部分。

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

此视单元应根据隐藏或显示模式中的内容调整高度,即渲染后的高度变化。

1 个答案:

答案 0 :(得分:0)

最简单的方法是在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>