簡體   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