Silverlight kullanarak tarayıcı yönlendirme ve Silverlight'ın kendi içindeki sayfalar arasındaki geçiş işlemini anlatacağım.
Silverlight tarayıcımızın içinde çalışır ama bilgisayarın performansınıda sonuna kadar kullanabilir. (çapraz platform sayesinde). Yani Silverlight kendi içinde sayfalar arasında geçiş yapabileceği gibi, tarayıcıya başka bir sayfaya gitmesi gerektiğini de söyleyebilir. Şu şekilde,
System.Windows.Browser.HtmlPage.Window.Navigate(new Uri(http://www.mehmetbilen.com));
Silverlight kendi içinde ise bu navigate işlemini ana bir nesne seçerek değişmesi gereken sayfaları bunun içine koyarak yapıyor. Yani ekranda sabit bir grid,canvas vb.. var. Bunun içine gözükmesi gereken nesnelerimiz ekleniyor veya çıkıyor. O zaman ekranda layoutroot diye sabit bir canvasımız olsun, ve iki tanede hazırlanmış sayfamız olsun sayfa1.xaml ve sayfa2.xaml bunları sırayla deiştirebilecek bir fonksiyon yazalım.
public bool ilksayfada = true; public void degistir() { if (ilksayfada==true) { sayfa2 yenisayfa2 = new sayfa2(); this.LayoutRoot.Children.Clear(); this.LayoutRoot.Children.Add(yenisayfa2); ilksayfada = false; } else { sayfa1 yenisayfa1 = new sayfa1(); this.LayoutRoot.Children.Clear(); this.LayoutRoot.Children.Add(yenisayfa1); ilksayfada = true; }
"İlk sayfada" adlı boolean bir değişkenimiz var, bu değişken "true" ise biz halihazırda ilk sayfada olduğumuzu if yordamı ile kontrol ediyoruz, ilk sayfada isek yeni bir sayfa2 türetiyoruz, LayoutRoot'umuzun içini clear komutu ile güzelce temizliyoruz ve yeni oluşturduğumuz sayfa2'yi layoutroot'umuzun içine yerleştiriyoruz, else kısmında yani tam tersi olsaydı ekranda sayfa2 olmuş olsaydı bu sefer 1. sayfaya yönlendirmiş olacaktık. Bu fonksiyon bir toogla modunda yani sıra ile sayfaları gezdiriyor, biz bunun yerine dışarıdan parametre de alabilirdik, artık orası sizin ihtiyaç duyduğunuz çözüme bağlı.
İyi çalışmalar...