Bu makalemde Silverlight 2.0 ile navigasyon işlemlerinin nasıl yapıldığı hakkında örnek bir uygulama üzerinde inceleme yapacağız.Örneğin 2 tane sayfamız olsun ve bu sayfaların her birinde birer buton olsun.Bu butonu diğer sayfayı görüntelemek için kullanalım.Yeni bir Silverlight Application uygulaması yarattıktan sonra projemize PageSwitcher.xaml ,Page.xaml ve Page2.xaml olmak üzere 3 tane user control ekleyelim.Daha sonra tasarımı aşağıdaki gibi düzeneyelim.
[Page.xaml]
<UserControl x:Class="SLNavigation.Page"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Width="400" Height="300">
<Grid x:Name="LayoutRoot" Background="White">
<StackPanel VerticalAlignment="Center">
<TextBlock HorizontalAlignment="Center" Text="Sayfa 1"/>
<Button x:Name="button" Width="80" Height="35" Content="Git" Click="button_Click"/>
</StackPanel>
</Grid>
</UserControl>
[Page2.xaml]
Bu sayfamızda Page.xaml ile aynı fakat tek fark TextBlock kontrolünün Text özelliği Sayfa 2 olarak değiştirebilirsiniz.
[PageSwitcher.xaml]
<UserControl x:Class="SLNavigation.PageSwitcher"
xmlns=http://schemas.microsoft.com/winfx/2006/xaml/presentation
xmlns:x=http://schemas.microsoft.com/winfx/2006/xaml
Width="400" Height="300">
</UserControl>
[PageSwitcher.xaml.cs]
public partial class PageSwitcher : UserControl
{
public PageSwitcher()
{
InitializeComponent();
if (this.Content==null)
{
this.Content =new Page();
}
}
public void Navigate(UserControl nextPage)
{
this.Content = nextPage;
}
}
[Page.xaml.cs]
Bu sayfamızdaki butonun click olayına şu kodları yazıyoruz.
private void button_Click(object sender, RoutedEventArgs e)
{
PageSwitcher ps = this.Parent as PageSwitcher;
ps.Navigate(new Page2());
}
[Page2.xaml.cs]
Bu sayfamızdaki butonun click olayına da şu kodları yazıyoruz.
private void button_Click(object sender, RoutedEventArgs e)
{
PageSwitcher ps = this.Parent as PageSwitcher;
ps.Navigate(new Page());
}
Peki hepsi bu kadar mı?Tabiki hayır.Son olarak küçük bir ayarlama yapmak gerekiyor.Uygulamanın başlangıç ayarlarından çalışacak ilk sayfayı PageSwitcher olarak değiştirmemiz gerekecek.
[App.xaml.cs]
private void Application_Startup(object sender, StartupEventArgs e)
{
this.RootVisual = new PageSwitcher();
}
Artık uygulamamızı çalıştırıp sonucu görebilirsiniz.Silverlight 2.0’da navigasyon işlemleri bu kadar.Teşekkürler.
SLNavigation.rar (31,07 kb)