Bugün ki blog yazımızda örnekler ile sayfalar arası geçişleri ve veri aktarımını sağlayan kod bloklarından biraz bahsedeceğim.
Senaryomuza göre kullanıcıdan ismini girmesini isteyeceğiz ve butona tıklandığı zaman geçilen ikinci sayfada "Hoşgeldiniz" yazısı ile kişinin adını ekrana yazdıracağız. Bunun için birer TextBlock, TextBox ve Button nesnelerine ihtiyacımız var.
- Sayfa1.xaml adında ilk sayfamızı oluşturuyoruz ve içerisine aşağıdaki kodları yazıyoruz. Aşağıdaki kod bloğu ile kullanıcıdan ismini alıyoruz.
<StackPanel Grid.Row="1" Margin="120,0,120,60"> <TextBlock Text="Adınızı giriniz"/> <TextBox Width="200" HorizontalAlignment="Left" Name="tb1"/> <HyperlinkButton Content="2.Sayfaya Git" Click="Gonder_Click"/> </StackPanel>
- Sayfa1.xaml.cs sayfamıza da aşağıda kodları yazıyoruz.
private void Gonder_Click(object sender, RoutedEventArgs e) { this.Frame.Navigate(typeof(Sayfa2), tb1.Text); }
- Sayfa2.xaml.cs sayfamıza da aşağıdaki kodları yazarak ilk sayfadan gönderilen isim değerini alıp ikinci sayfamızda ekrana yazdırıyoruz.
privatevoid navigationHelper_LoadState(object sender, LoadStateEvent Args e) { string name = e.NavigationParameter as string; if (!string.IsNullOrWhiteSpace(name)) { tb1.Text = "Hoşgeldiniz, " + name; } else { tb1.Text = "İsim girmelisiniz.Geri dönün ve bir isim girin."; } }
- Sadece bir sonraki sayfaya geçiş yapmayı istiyorsak aşağıdaki kod bloğunu kullanabiliriz.
private void Gonder_Click(object sender, RoutedEventArgs e) { this.Frame.Navigate(typeof(Sayfa2)); }
Yapmamız gereken tüm işlemler bu kadar. Bir sonraki blog yazımızda görüşmek üzere ;)