Xamarin 窗体树视图 [英] Xamarin forms tree view
本文介绍了Xamarin 窗体树视图的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试使用 Xamarin 表单中的嵌套数据实现树视图.看起来像这样的东西
I'm trying to implement a treeview with nested data in Xamarin forms. Something that looks like this
点击每个项目会打开一个可能的子项目列表.我在网上看到的示例仅使用 ListView 处理一层数据.是否可以以 xamarin 形式实现这种数据的分层视图.
Tapping on each item opens a list of possible sub items. The examples I've seen online only deal with one layer of data using a ListView. Is it possible to implement such hierarchical view of data in xamarin forms.
推荐答案
<ListView x:Name="GroupedView" GroupDisplayBinding="{Binding Header}" RowHeight="75" IsGroupingEnabled="True" HasUnevenRows="True">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<StackLayout HeightRequest="{Binding height}">
<Label Text="{Binding MenuText}" TextColor="Green" >
<Label.GestureRecognizers>
<TapGestureRecognizer Tapped="TapGestureRecognizer_Tapped"/>
</Label.GestureRecognizers>
</Label>
<ScrollView>
<ListView ItemsSource="{Binding submenuitems}" HasUnevenRows="True" IsVisible="{Binding expand}">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<StackLayout Margin="25,5,5,5" HeightRequest="{Binding height}">
<StackLayout.GestureRecognizers>
<TapGestureRecognizer Tapped="TapGestureRecognizer_Tapped_1"/>
</StackLayout.GestureRecognizers>
<Label Text="{Binding MenuText}" TextColor="DarkBlue"/>
<ScrollView>
<ListView ItemsSource="{Binding submenuitems_2}" HasUnevenRows="True" IsVisible="{Binding expand}">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell >
<StackLayout Margin="35,10,5,5" HeightRequest="45">
<Label Text="{Binding MenuText}" TextColor="Red"/>
</StackLayout>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</ScrollView>
</StackLayout>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</ScrollView>
</StackLayout>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
<ListView.GroupHeaderTemplate>
<DataTemplate>
<ViewCell>
<StackLayout Orientation="Horizontal" Padding="5,5,5,5" BackgroundColor="#E2F5F9">
<Button Image="{Binding StateIcon}" BackgroundColor="Transparent" BorderColor="Transparent" BorderWidth="0" Clicked="HeaderTapped" CommandParameter="{Binding .}"/>
<Label Text="{Binding Header}" TextColor="#005569" FontSize="15" VerticalOptions="Center"/>
</StackLayout>
</ViewCell>
</DataTemplate>
</ListView.GroupHeaderTemplate>
</ListView>
这篇关于Xamarin 窗体树视图的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文