XAMARIN.FORMS ILE LISTVIEW
Konumuzun dördüncü bölümü olarak daha önceki uygulamamıza bir ekran daha ekleyerek bu ekran üzerinde bir liste göstereceğiz. Daha sonrada bu listeye tıklama eventi ekleyeceğiz.
LIST VIEW
1. Öncelikle yeni bir sayfa yaratarak uygulamamıza başlayalım:
Yeni sayfamızın adı MyListViewPage olsun.
2. Bu sırada artık detaylanmaya başlamış olan uygulamamıza klasörler ekleyerek düzenleyelim. Ben bir adet “Views” klasörü oluşturarak tüm sayfaları oraya ekledim. Ayrıca yaratacağımız sınıflar içinde bir “Models” klasörü ekledim.
3. MyListViewPage.cs sayfasına gidip içerisine bir ListView ve listede gösterilmek üzere bir dizi ekleyelim. Ardından da listemizi ekrana ekleyelim. using System;using Xamarin.Forms; using System.Collections.ObjectModel;namespace XamarinForms { public class MyListViewPage : ContentPage { public MyListViewPage () { //Dizi oluştur string[] dizi = new string[] { “Ufuk ARSLAN“, “Ekin MİRAL“, “Burak Güner“, “Gökçe Sarsılmaz“, “Oğuzhan Gedik“, “Ömer Köksür“ }; 4. Yeni oluşturduğumuz MyListViewPage sayfasını ekranımıza ekleyelim. Bunun için bir önceki yazımızdaki MyTabbedPage.cs içerisine bir Tab daha ekliyoruz. using System;using Xamarin.Forms;namespace XamarinForms { public class MyTabbedPage : TabbedPage { public MyTabbedPage () { var firstPage = new NavigationPage(new MyFirstPage()); firstPage.Title = “İlk Sayfa“; firstPage.Icon = “visitPlan.png“; 5. Kodumuzu çalıştırdığımız zaman yeni ekranlarımız şu şekilde görünmekte. ListView list = new ListView (); list.ItemsSource = dizi; Content = list; } } } secondPage.Title = “İkinci Sayfa“; secondPage.Icon = “visitCalendar.png“; var listPage = new NavigationPage(new MyListViewPage ()); listPage.Title = “Liste“; Children.Add (secondPage); Children.Add (listPage); //Tab ekle } } }
// Liste oluştur.
//Listeyi sayfaya ekle.
var secondPage = new MySecondPage ();
//Liste sayfası
Children.Add (firstPage);
LISTE ÖĞELERINE TIKLAMAK
MyListViewPage.cs içerisine list için bir ItemTapped eventi ekleyelim. Bu event her tıklamada seçilen isimi yeni bir sayfada göstersin.
using System;
using Xamarin.Forms; using System.Collections.ObjectModel;
namespace XamarinForms { public class MyListViewPage : ContentPage { public MyListViewPage () { //Dizi oluştur string[] dizi = new string[] { “Ufuk ARSLAN“, “Ekin MİRAL“, “Burak Güner“, “Gökçe Sarsılmaz“, “Oğuzhan Gedik“, “Ömer Köksür“ };
// Liste oluştur. ListView list = new ListView (); list.ItemsSource = dizi;
list.ItemTapped += (object sender, ItemTappedEventArgs e) => {
string item = (string)e.Item; //Seçili öğeyi al
//Yeni ekran push et. Navigation.PushAsync (new ContentPage() { Content = new StackLayout { Children = { new Label { Text = item, VerticalOptions = LayoutOptions.CenterAndExpand, HorizontalOptions = LayoutOptions.CenterAndExpand } } } });
list.SelectedItem = null; //Listenin seçili kalmasını engelle };
//Listeyi sayfaya ekle. Content = list; } } }
BU UYGULAMANIN KODLARINA
HTTPS://GITHUB.COM/UFUF/XAMARIN.FORMS
ADRESINDE “PART 4” COMMITI ILE ERIŞEBILIRSINIZ.















