Xamarin Pages ve Navigation Kullanımı


Xamarin Pages ve Navigation Kullanımı

Xamarin, mobil uygulama geliştirme sürecinde çapraz platformda çalışan uygulamalar üretmek için mükemmel bir araçtır. Xamarin Pages ve Navigation, kullanıcıya sezgisel ve çok sayfalı uygulama deneyimi sunmak açısından temel unsurlar arasında yer alır. Bu teknik makalede, Xamarin'de sayfa türleri ve sayfalar arası geçiş süreçleri hakkında bilgiler bulacak, örnek kodlar ile konunun kolayca kavranmasını sağlayacaksınız.

Xamarin Pages Türleri

Xamarin Forms'da farklı senaryolara uygun temel sayfa türleri (Pages) bulunur. Bunlardan en çok kullanılanlar şunlardır:

  • ContentPage: En çok tercih edilen, basit içerik gösterimleri için kullanılır.
  • NavigationPage: Sayfalar arası geçiş ve geri alma gibi navigasyon işlemlerini yönetir.
  • TabbedPage: Alt sekmelerle birden fazla sayfa sunar.
  • MasterDetailPage (FlyoutPage): Daha karmaşık uygulamalarda menü ve detay içerik için kullanılır.

ContentPage ve NavigationPage Oluşturma

Aşağıda bir ContentPage ve navigasyon işlemlerini başlatan bir NavigationPage kullanımı örneği görebilirsiniz:

public class AnaSayfa : ContentPage
{
    public AnaSayfa()
    {
        var button = new Button { Text = "Detay Sayfasına Git" };
        button.Clicked += async (s, e) => 
        {
            await Navigation.PushAsync(new DetaySayfa());
        };
        Content = new StackLayout
        {
            Children = { button }
        };
    }
}

public class DetaySayfa : ContentPage
{
    public DetaySayfa()
    {
        Content = new Label { Text = "Detay Sayfası" };
    }
}

Uygulamanın giriş noktasında NavigationPage'i başlatabilirsiniz:

public App()
{
    MainPage = new NavigationPage(new AnaSayfa());
}

Sayfalar Arası Navigation (Gezinme)

Navigation işlemi, kullanıcının uygulama içinde yeni bir sayfaya geçmesini veya geri dönmesini sağlayan bir özelliktir. Xamarin Pages ve Navigation yapısı, özellikle mobil dünyada sıklıkla kullanılan "ileri-geri" gezinmeyi doğal ve standart hale getirir.

Yeni bir sayfaya gitmek için PushAsync(), önceki sayfaya dönmek için ise PopAsync() metodu kullanılır. Kod örneği:

// Yeni sayfaya gitme
await Navigation.PushAsync(new DetaySayfa());

// Önceki sayfaya dönme
await Navigation.PopAsync();

Sayfa Parametresi Gönderme

Çoğu zaman bir sayfadan diğerine veri aktarmanız gerekir. Bu durumda kurucuya parametre geçebilirsiniz:

public class DetaySayfa : ContentPage
{
    public DetaySayfa(string mesaj)
    {
        Content = new Label { Text = mesaj };
    }
}
// Navigation ile çağırırken:
await Navigation.PushAsync(new DetaySayfa("Hoş geldiniz!"));

Sonuç

Xamarin Pages ve Navigation kullanımı, mobil uygulama geliştirmenin temel taşlarından biridir. Doğru yapılandırma ile sayfalar arası geçişler esnek ve kullanıcı dostu hale gelir. Kod örneklerinde gösterildiği gibi NavigationPage ile çok sayfalı uygulama mimarileri oluşturmak son derece kolaydır. Xamarin Pages ve Navigation yeteneklerini etkin kullanarak uygulama deneyiminizi bir üst seviyeye taşıyabilirsiniz.