Xamarin ListView with binding in xaml code to C #

How to convert the following ListView with ItemTemplate and Binding to a ItemTemplate file in equivalent C # code:

 <ListView VerticalOptions="FillAndExpand" HorizontalOptions="FillAndExpand" ItemsSource="{Binding A}" ItemSelected="OnClick"> <ListView.ItemTemplate> <DataTemplate> <TextCell Text="{Binding b}" Detail="{Binding c}"/> </DataTemplate> </ListView.ItemTemplate> </ListView> 
+4
source share
1 answer

Try something like this:

 ListView lv = new ListView(); lv.HorizontalOptions = LayoutOptions.FillAndExpand; lv.VerticalOptions = LayoutOptions.FillAndExpand; lv.SetBinding(ListView.ItemsSourceProperty, new Binding("A")); lv.ItemSelected += (sender, args) => { onclick(sender, args); }; //Remember to remove this event handler on dispoing of the page; DataTemplate dt = new DataTemplate(typeof(TextCell)); dt.SetBinding(TextCell.TextProperty, new Binding("b")); dt.SetBinding(TextCell.DetailProperty, new Binding("c")); lv.ItemTemplate = dt; 

For more complex Datatemplates do:

 DataTemplate dt = new DataTemplate(() => { var button = new Button(); button.SetBinding(Button.TextProperty, new Binding("Name")); return new ViewCell { View = button }; }); 
+8
source

All Articles