2017-05-29 52 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

謝謝,但不幸的是,這不是我所追求的。你提出的建議可以將幾個單元格分組在一起,以及這些組的擴展/崩潰。我想要的是每個單元格都有一些默認隱藏的附加信息,這些信息可以在點擊事件後顯示(並因此調整單元格大小)。 –