Haii hai oke di post ini Insya Allah ane bakalan ngejelasin step by step gimana cara nya nampilin data kamu dengan menggunakan ListView. Yuklah capcuus
- Create Project Xamarin Cross-Platform. Tutorialnya bisa liat disini. Pada project ini saya beri nama Modul3
- Pada project portable klik kanan -> add new folder. Lalu berilah nama Models.
- Buatlah sebuah kelas dengan cara klik kanan project portable -> add new item -> pilih class -> beri nama = ListItem.cs -> oke
- tambahkan code berikut
using System; using System.Collections.Generic; using System.Text; namespace Modul3.Models { public class ListItem { public string Source { get; set; } public string Title { get; set; } public string Description { get; set; } public string Price { get; set; } } }
- Klik kanan project portable lalu add item forms blank content page xaml. Beri nama BindingToDataModel.xaml
- Pada file BindingToDataModel.xaml tambahkan code berikut
<?xml version="1.0" encoding="utf-8" ?> <ContentPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" x:Class="Modul3.BindingToDataModel"> <ListView ItemsSource="{Binding ListItems}" ItemTapped="ListViewItemTapped"> <ListView.ItemTemplate> <DataTemplate> <TextCell Text="{Binding Title}" Detail="{Binding Description}" DetailColor="Red" /> </DataTemplate> </ListView.ItemTemplate> </ListView> </ContentPage>
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Modul3.Models; using Xamarin.Forms; using Xamarin.Forms.Xaml; namespace Modul3 { [XamlCompilation(XamlCompilationOptions.Compile)] public partial class BindingToDataModel : ContentPage { public BindingToDataModel () { InitializeComponent (); BindingContext = new ListViewDataModelViewModel(); } private async void ListViewItemTapped(object sender, ItemTappedEventArgs e) { ListItem item = (ListItem)e.Item; await DisplayAlert("Tapped", item.Title.ToString() + " was selected", "OK"); ((ListView)sender).SelectedItem = null; } public class ListViewDataModelViewModel : BindableObject { private List<ListItem> lstItems; public ListViewDataModelViewModel() { lstItems = new List<ListItem> { new ListItem {Title="Mystic", Description="Mystic team blue badge" }, new ListItem {Title="Instinct",Description="Instinct team yellow badge" }, new ListItem {Title="Valor",Description="Valor team red badge" } }; } public List<ListItem> ListItems { get { return lstItems; } set { lstItems = value; OnPropertyChanged("ListItems"); } } } } }
Tidak ada komentar:
Posting Komentar