繁体   English   中英

xamarin forms 组列表视图复选框

[英]xamarin forms group listview checkboxs

复选框在列表视图中生成。 复选框的状态需要存储在本地存储中。 有没有办法将两个单独的列表绑定到一个 Listview 中。

第一个列表:

    List<mergedfeature> mergedfeatures = new List<mergedfeature>();
    
               
                    var res = (from layer in layers
                                     join cat in category
                                     on layer.feature_cat equals cat.id
                                     select new
                                     {
                                         name = cat.category_name,
                                         Mfeatures = layer,
                                         isChecked = true
                                     }).ToList();

Second List:

     public int id { get; set; }
     public string layer_name { get; set; }
     public bool LayerChecked { get; set;}
     public string group_name { get; set;}

有没有办法将两个单独的列表绑定到一个 Listview 中。

第二个列表是否嵌套在第一个列表中? 如果是,您可以使用BindableLayout在另一个 Listview 中显示项目集合。

您可以在BindableLayout.ItemsSource中绑定内部列表。

您可以参考我的演示中的以下代码:

    <ListView  x:Name="lstView" RowHeight="60">
        <ListView.ItemTemplate>
            <DataTemplate>
                <ViewCell>
                    <StackLayout Orientation="Horizontal" HorizontalOptions="Fill" BackgroundColor="Olive">
                        <StackLayout Orientation="Vertical">
                            <Label Text = "{Binding Name}" FontSize="24" AbsoluteLayout.LayoutBounds="0.25, 0.25, 400, 40"/>
                            <Label Text = "{Binding Type}" AbsoluteLayout.LayoutBounds="50, 35, 200, 25"/>
                        </StackLayout>
                        <Image Source="{Binding Image}" HorizontalOptions="End" AbsoluteLayout.LayoutBounds="250.25, 0.25, 50, 50 "/>

                        <StackLayout  BindableLayout.ItemsSource="{Binding Inner_Items}" Orientation="Horizontal">
                            <BindableLayout.ItemTemplate>
                                <DataTemplate>

                                    <StackLayout Orientation="Horizontal">

                                        <Label Text="{Binding layer_name}"/>

                                        <CheckBox IsChecked="{Binding LayerChecked}"/>

                                    </StackLayout>
                                    
                                    
                                </DataTemplate>
                            </BindableLayout.ItemTemplate>
                        </StackLayout>
                    </StackLayout>
                </ViewCell>
            </DataTemplate>
        </ListView.ItemTemplate>
    </ListView>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM