Listview里面的listview Xamarin.Forms

时间:2016-02-05 11:51:49

标签: xaml listview xamarin.forms

我想在listview中创建listview。我尝试下面的代码,这在Android中不起作用,相同的代码在iOS中完美运行

<local:CustomListview
          x:Name="ListView"
      ItemsSource="{Binding List1}" HasUnevenRows="True"
          >
          <local:CustomListview.ItemTemplate>
            <DataTemplate>
              <ViewCell>
                <StackLayout
                Orientation="Vertical">
                  <StackLayout Orientation="Horizontal">
                    <Label Text="{Binding Name}"></Label>
                    <Label Text="{Binding CreatedOn}"></Label>
                  </StackLayout>
                  <Label Text="{Binding Description}"></Label>

                  <StackLayout
                    Orientation="Horizontal"
                    >
                    <Label Text="{Binding Count}"></Label>
                    <Label Text="Likes(s)"></Label>
                  </StackLayout>

                    <StackLayout
                      Orientation="Vertical"
                      Padding="5, 0, 0, 0"
                    >
                        <local:CustomListview ItemsSource="{Binding List2}" HasUnevenRows="True">
                         <local:CustomListview.ItemTemplate>
                                <DataTemplate>
                                  <ViewCell>
                                    <StackLayout Orientation="Vertical">
                                      <Label Text="{Binding Description}"></Label>
                                      <StackLayout Orientation="Horizontal">
                                        <Label Text="{Binding CreatedBy}"></Label>
                                        <Label Text="{Binding CreatedOn}"></Label>
                                      </StackLayout>
                                    </StackLayout>
                                  </ViewCell>
                                </DataTemplate>
                         </local:CustomListview.ItemTemplate>
                      </local:CustomListview>
                    </StackLayout>      

                </StackLayout>
              </ViewCell>
            </DataTemplate>
          </local:CustomListview.ItemTemplate>


        </local:CustomListview>

有什么建议吗?

我无法使用群组列表视图,因为我需要以特定方式安排像Label这样的控件。我将子列表视图绑定为父列表视图的ItemsSource的一部分。上面的代码不起作用,它只显示父列表视图,不显示子列表视图。

1 个答案:

答案 0 :(得分:4)

Listview中的Listview不是受支持的选项。 Listviews被设计为页面上唯一的根控件,主要是由于调整大小和滚动问题。

此外,页面的复杂性可能会导致性能下降。

理想情况下,我建议您重新设计布局,以便重复的信息在另一页上。但是,如果您想继续这种方法,您应该查看XLabs中的RepeaterView。它基本上是一个增强的StackLayout。