0

我有一个 CollectionView,它显示了 Categories 对象的列表,如下所示: 在此处输入图像描述

而且我想在它之后列出一个子类别列表,就好像它是同一个列表一样。

我知道 CollectionView 只需要一个项目,但我想知道是否有一种方法可以让两个列表在滚动时表现得像一个

谢谢您的帮助

4

2 回答 2

1

您可以一个接一个地使用 2 StackLayout 并像这样设置 BindableLayout:

<StackLayout Orientation="Horizontal">
      <StackLayout Orientation="Horizontal" BindableLayout.ItemsSource="{Binding CategoryItemSource}">
          <BindableLayout.ItemTemplate>
              <DataTemplate>
                    <!--CategoryItemTemplate-->
                </DataTemplate>
          </BindableLayout.ItemTemplate>
      </StackLayout>
      <StackLayout Orientation="Horizontal" BindableLayout.ItemsSource="{Binding SubCategoryItemSource}">
          <BindableLayout.ItemTemplate>
              <DataTemplate>
                  <!--SubCategoryItemTemplate-->
              </DataTemplate>
          </BindableLayout.ItemTemplate>
      </StackLayout>
    </StackLayout>

在这种情况下,第一个 stacklayout 向您显示类别项目,然后第二个 stacklayout 显示子类别

于 2021-06-18T07:38:08.370 回答
0

两种可能的解决方案:

1- 使用继承使 Category 和 SubCategory 共享一个公社 Parent 然后建立一个索引,确保每个元素都列在其父级之后。

2-使用嵌套的集合视图来显示每个类别的子类别。

于 2021-06-18T07:43:06.190 回答