2017-05-29 17 views
0

我想创建一个可扩展的ListView,其中包含两个StackLayout的自定义ViewCell。第一个将是标头,第二个布局将是第一个子元件,并显示额外的详细信息。这个想法是的详细信息默认情况下会隐藏,当它的ViewCell容器被点击时它的可见性会被切换。如何在Xamarin中切换ListView ViewCell属性的可视性。表格

我不知道如何在Xamarin.Forms环境中正确实现这一点,并且没有找到任何真正有用的资源。我可以想象一个解决方案,其中涉及创建一个ViewCell的定制子类;或者在其中我会通过ViewModel为我的ListView.itemsSource的每个项目添加可见性属性。
在这种情况下什么是最佳实践,以及如何在Xamarin.Forms中实现这一点?


下面是什么,我的目标是创建一个XAML概述:

<ListView HasUnevenRows="True" 
     ItemTapped="listView_OnItemTapped" 
     x:Name="listView"> 
<ListView.ItemTemplate> 
    <DataTemplate> 
    <ViewCell> 
     <StackLayout Orientation="Vertical" 
        Padding="10,10,10,10"> 
     <!-- Header Stuff --> 
     <StackLayout Orientation="Vertical" 
        x:Name="_slDetails"> 
      <!-- Details Stuff --> 
     </StackLayout> 
     </StackLayout> 
    </ViewCell> 
    </DataTemplate> 
</ListView.ItemTemplate> 

回答

0

你想找的是GroupHeaderTemplate, 例如:

<ListView.GroupHeaderTemplate> 
    <DataTemplate> 
     <TextCell Text="{Binding Title}" 
        Detail="{Binding ShortName}" 
        TextColor="#f35e20" 
        DetailColor="#503026" /> 
    </DataTemplate> 
</ListView.GroupHeaderTemplate> 

请查看以下链接

有关如何使用Gro upHeaderTemplate:customizing-list-appearance

与您的问题的点击部分切换相关:xamarin-forms-expandable-listview

+0

谢谢,但不幸的是,这不是我所追求的。你提出的建议可以将几个单元格分组在一起,以及这些组的扩展/崩溃。我想要的是每个单元格都有一些默认隐藏的附加信息,这些信息可以在点击事件后显示(并因此调整单元格大小)。 –