Makale Özeti

Kısa ve basit bir örnek uygulama üzerinden Windows 8 uygulamalarındaki Navigation işlemlerinin nasıl olduğuna dair bir makale yazdım.

Makale

Herkese merhaba,

Bu makalemde Windows 8 uygulamalarında Navigation işlemleri nasıl oluyor ondan bahsedeceğim. Öncelikle “Navigation” nedir ondan başlamak istiyorum. Teknik olarak sayfalar arasındaki gezinme şeklinde ifade edebiliriz. Aslına bakarsanız son zamanlarda biz bu işlemi oldukça fazla yapıyoruz. Kullandığımız akıllı cep telefonlarından tutun da internet sitelerine kadar bir çok alanda karşımıza çıkıyor...

Bu konuyu iki sayfası olan bir örnek uygulama üzerinde görelim. Vakit kaybetmeden Microsoft Visual Studio 2011′i çalıştıırp File-> New->Project-> Windows Metro Style-> Blank Application ‘ı seçip projemizi oluşturuyoruz.  BlankPage.xaml dosyamızı aşağıdaki gibi ayarlıyoruz.

 

 <Grid Background="FloralWhite">
        <TextBlock Name="textblock1" HorizontalAlignment="Left" Margin="358,212,859,517" TextWrapping="Wrap" Text="Username:" VerticalAlignment="Top" FontSize="32" Foreground="Black" d:LayoutOverrides="HorizontalMargin" />
        <TextBlock Name="textblock2" HorizontalAlignment="Left" Margin="358,278,0,0" TextWrapping="Wrap" Text="Password:" VerticalAlignment="Top" FontSize="32" Foreground="Black" />
        <TextBox Name="txt_username" HorizontalAlignment="Left" Margin="554,200,0,0" TextWrapping="Wrap" BorderBrush="Black" VerticalAlignment="Top" FontSize="32" Width="350" Height="50"/>
        <TextBox Name="txt_password" HorizontalAlignment="Left" Margin="554,266,0,0" TextWrapping="Wrap" BorderBrush="Black" VerticalAlignment="Top" FontSize="32" Width="350" Height="50"/>
        <Button Name="btn_login" Content="Login" HorizontalAlignment="Left" Margin="608,358,0,0" VerticalAlignment="Top" BorderBrush="Black" BorderThickness="3" Width="175" Foreground="Black" FontSize="32" Click="btn_login_Click"/>
    </Grid>
 

 

Ardından projemizin üzerine gelip mouse ile sağ tıklayarak Add-> New Item->BlankPage‘i seçip ismini Karsila.xaml olarak ayarlıyoruz.


Şimdi de Karsila.xaml sayfamızı aşağıdaki gibi tasarlıyoruz.

<Grid Background="Azure">
        <TextBlock Name="textblock1" HorizontalAlignment="Left" Margin="358,212,859,517" TextWrapping="Wrap" Text="Username:" VerticalAlignment="Top" FontSize="32" Foreground="Black" d:LayoutOverrides="HorizontalMargin" />
        <TextBlock Name="textblock2" HorizontalAlignment="Left" Margin="358,278,0,0" TextWrapping="Wrap" Text="Password:" VerticalAlignment="Top" FontSize="32" Foreground="Black" />
        <TextBlock Name="txt_username" HorizontalAlignment="Left" Margin="534,200,0,0" Foreground="Orange" TextWrapping="Wrap" VerticalAlignment="Top" FontSize="32" Width="350" Height="50"/>
        <TextBlock Name="txt_password" HorizontalAlignment="Left" Margin="534,266,0,0" Foreground="Orange" TextWrapping="Wrap" VerticalAlignment="Top" FontSize="32" Width="350" Height="50"/>
    </Grid>
 


Artık kullanacağımız sayfalar hazır. Gelelim işin kod kısmına. Hemen BlankPage.xaml.cs dosyamıza geçiyoruz ve aşağıdaki kodları yazıyoruz.



 

Buradaki kodları kısaca açıklamam gerekirse, öncelikle string tipinde username ve password isimli değişkenlerimizi oluşturuyoruz. Ardından textboxlara girilen değerleri bu değişkenlerimize aktarıyoruz. Elimizde username ve password olmak üzere iki tane bilgi var ve ben bunları butona basılınca  Karsila.xaml sayfasına göndermek istiyorum. Elimizdeki iki tane veriyi aynı anda gönderebilmem için string tipinde bir dizi oluşturuyorum ve bu bilgileri diziye aktarıyorum. Aktarma işlemi bittikten sonra artık Karsila.xaml sayfamıza bilgilerle beraber gidebiliriz. “this.Frame.Navigate(typeof(Karsila), dizi); “ komutu ile Karsila.xaml sayfasına gidiyorum beraberimde de diziyi götürüyorum.

Peki Karsila.xaml sayfasına geldik ben bu bilgileri nasıl kullanacağım, bunlara nasıl erişeceğim? Çok basit. Hemen Karsila.xaml.cs sayfamıza geçiyoruz. Sayfamızın OnNavigatedTo methodu içerisine aşağıdaki kodları yazıyoruz. (OnNavigatedTo eventı sayfaya navigate edildiğinizde tetiklenir.)



 

Buradaki kodları kısaca açıklayayım. BlankPage.xaml sayfamızdan gönderilen dizi içerisindeki bilgilere burada NavigationEventArgs e ile erişeceğiz. title isminde bir değişken oluşturup bunun da string tipindeki bir dizi olduğunu ifade ediyoruz. Ardından textblocklara gelen bilgileri yazdırıyoruz. Hepsi bu kadar.  Gelin programımızın ekran çıktılarına bakalım…



Yukarıda username alanına “ömür” password alanına da “erdem” bilgilerini girip Login butonuna tıklıyorum. Hemen Karsila.xaml sayfamıza yönlendiriliyoruz ve aşağıdaki ekran bizi karşılıyor.


Görmüş olduğunuz gibi göndermiş olduğum bilgilerin ikisine de eriştim. Ben burada sadece ekrana yazdırdım. Ama bu verileri başka şekillerde de  kullanabilirsiniz. Bir sonraki yazımda görüşmek dileğiyle…