Forum Sevdam
Nickiniz
Şifreniz
Sponsor Linkler




Hediyeler    Anasayfa    Gruplar    Etiketler    Blog    Yardım    İletişim
Forumdan En İyi Şekilde Faydalanmak İçin KAYIT Olmanız Gerekmektedir.    

Geri git   Forum Sevdam > Bilgisayar ve İnternet > Programlama ve Web Tasarım > Silverlight, Expression, LinQ, Ajax, JavaScript

Bu Bölümlerimizi İncelediniz mi ?:
Şimdi ÜCRETSİZ Üye Ol!
Forumumuza kaydınız bulunmamaktadır. Hızlı ve Ücretsiz olarak forumumuza aşağıdaki formu doldurarak üye olabilirsiniz.

Üye adı: Şifre: Şifre Onay: E-posta: E-posta Onay:
Doğum Gününüz:     Cinsiyet:    
Grafik Doğrulaması
  Forum kuralları kabul ediyorum. 


Silverlight 2.0 Uygulamaları Parametre Gönderimi

Silverlight, Expression, LinQ, Ajax, JavaScript


Cevapla
 
LinkBack Seçenekler Stil
Alt 26-05-2008, 01:07   #1
Hayat İşte...

11 Oca 2008
Dünyadan
:
Yaş: 24
Ruh hali:
Ettiği Teşekkür: 1,243
417 Mesajına 624 Kere Teşekkür Edlidi
Tepki Sayısı: 3
23 Mesajına 26 Kere Tepki Gösterildi
 
Tecrübe Puanı: 10000
XiLoNeN has a reputation beyond reputeXiLoNeN has a reputation beyond reputeXiLoNeN has a reputation beyond reputeXiLoNeN has a reputation beyond reputeXiLoNeN has a reputation beyond reputeXiLoNeN has a reputation beyond reputeXiLoNeN has a reputation beyond reputeXiLoNeN has a reputation beyond reputeXiLoNeN has a reputation beyond reputeXiLoNeN has a reputation beyond reputeXiLoNeN has a reputation beyond repute
XiLoNeN - MSN üzeri Mesaj gönder
 XiLoNeN isimli Üye şimdilik offline konumundadırOffline  



Standart Silverlight 2.0 Uygulamaları Parametre Gönderimi


Silverlight 2.0 uygulamalarını web sayfalarımıza OBJECT tagları ile koyacağımızı biliyoruz. Artık Silverlight 1.0'daki gibi JavaScript ile uğraşmak durumunda kalmayacağız. Durum böyle olunca tabi ki bu uygulamalara dışarıdan belirli durumlarda parametreler de göndermek gerekecek.
Örneğin bir Video Player hazırladınız ve aynı sayfada birden çok Video göstermek için kullanacaksınız fakat bu videolar da sunucu tarafındaki veriye bağlı olacak. Yani özetle Video Player Silverlight uygulamamız bir ASP.NET Repeater içerisindeyse video dosyasının adını nasıl Silverlight uygulamamıza aktarırız?
Dışarıdan Parametre Gönderimi
İlk olarak sayfamız içerisinde Object tagları arasında bir yerlerde parametrelerimizi belirtmemiz lazım. Bunun için aşağıdaki gibi bir yapı kullanabiliriz.
Kod:
<object type="application/x-silverlight"
         width="100%" height="100%">
   <param name="source"
          value="ClientBin/deneme.xap"/>
   <param  name="initParams"
             value="metin=osman" />
 </object>
İsterseniz parametre sayısını arttırmak için yukarıdaki param tagının value özelliğine birden çok parametre ve değer çifti verebilirsiniz. Tek yapmanız gereken metin=osman,deger=xx şeklinde çiftleri birbirinden birer virgül ile ayırmak. Eğer ASP.NET ile beraber gelecek Silverlight sunucu kontrolünü kullanarak uygulamanızı sayfanıza ekliyorsanız bu durumda aşağıdaki gibi bir yapı kullanabilirsiniz.
PHP- Kodu:
<asp:Silverlight ID="Xaml1" runat="server" 
                  
Source="~/ClientBin/deneme.xap" 
                   
InitParameters="metin=osman" 
                  
Version="2.0" 
                  
Width="100%" 
                  
Height="100%" /> 
Peki uygulama içerisinde nasıl kullanacağız?
Bir önceki bölümde verdiğimiz parametrelere Silverlight uygulamaları içerisinde Application nesnesinin Startup durumunda erişebiliyoruz. Söz konusu durumu uygulamanızın App.xaml dosyası içerisinde kodlayabiliyorsunuz.
PHP- Kodu:
Private Sub Application_Startup(ByVal o As ObjectByVal e As StartupEventArgsHandles Me.Startup
     e
.InitParams("metin")
 
End Sub 
Yukarıdaki şekli ile Application nesnesinin Startup durumuna parametre olarak gelen StartupEventArgs üzerinden InitParams dizisinde parametrelerimizi bulabiliyoruz. Fakat aslında bizim esas istediğimiz bu parametrelere doğrudan uygulamamızın ana XAML dosyalarında ulaşabiliyor olmak. Bunun için biraz daha uğraşmamız gerekecek. İlk olarak gelin içerisinde bir TextBlock olan XAML kodumuza bakalım. Metin parametresi ile Silverlight uygulamasına aktarılan metni bu TextBlock içerisinde göstereceğiz.
HTML-Kodu:
<UserControl x:Class="SilverlightApplication10.Page"
     xmlns="http://schemas.microsoft.com/client/2007"
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
     Width="400" Height="300">
   <Grid x:Name="LayoutRoot" Background="White">
     <TextBlock Margin="29,26,41,48" Text="TextBlock" TextWrapping="Wrap" x:Name="Metin"/>
   </Grid>
 </UserControl>
Görüldüğü üzere ortada çok karışık bir durum yok. Sadece bir TextBlock var. Peki nasıl olacak da parametrelerimizi sayfamıza aktaracağız. Aslında sayfa dediğimiz XAML dosyaları birer Class.
HTML-Kodu:
Partial Public Class Page
     Inherits UserControl
 .........................
 End Class
Yukarıdaki kod bizim herhangi bir XAML kodumuzun arkasında .NET kodunu gösteriyor. Page adında bir sınıf tanımlanmış ve bu sınıf aslında aşağıdaki şekilde XAML kodumuza da bağlanmış durumda.
HTML-Kodu:
<UserControl  x:Class="SilverlightApplication10.Page"
     xmlns="http://schemas.microsoft.com/client/2007"
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
     Width="400" Height="300">
Yani her XAML dosyası aslında birer sınıf olarak tanımlanıyor. Peki başlangıçta hangi XAML dosyasının açılacağı nasıl ayarlanıyor? Gelin App.XAML içerisindeki orijinal StartUp eventının koduna bir göz atalım.
HTML-Kodu:
Private Sub Application_Startup(ByVal o As Object, ByVal e As StartupEventArgs) Handles Me.Startup
     Me.RootVisual = New Page()
 End Sub
İşte tam bu noktada uygulama açıldığında bizim Page sınıfından bir adet yaratılarak uygulamanın ana görseli haline getirilmiş. Yani bir XAML dosyasını yüklemek için aslında söz konusu XAML koduna bağlı .NET sınıfı kullanılmış. Bu durumda biz Page sınıfımızı bir Property eklesek ve bu Property'ye Application Startup'daki parametreleri aktarsak Page sınıfı içerisinden de tüm parametrelere ulaşmaz mıyız?
Kesinlikle ulaşırız. Hatta üzerine bir de yeni alternatif bir Constructer yazdık mı aslında işimiz daha da kolaylaşır. Gelin tek tek bunları yapalım.
HTML-Kodu:
Private PInitParams As System.Collections.Generic.IDictionary(Of String, String)
 Public Property InitParams() As System.Collections.Generic.IDictionary(Of String, String)
     Get
         Return PInitParams
     End Get
     Set(ByVal value As System.Collections.Generic.IDictionary(Of String, String))
         PInitParams = value
     End Set
 End Property
Yukarıdaki gördüğünüz Property'yi Page sınıfı içerisinde kullanacağız. Bu Property aslında Application Startup'taki tüm InitParams'ları taşıyabilecek. Zaten söz konusu InitParams'ın tipine de baktığımızda System.Collections.Generic.IDictionary(Of String, String)) ile karşılaşıyoruz. Sıra geldi bir de yeni Constructor yazmaya.
HTML-Kodu:
Public Sub New(ByVal IncInitParams As System.Collections.Generic.IDictionary(Of String, String))
     Me.InitParams = IncInitParams
     InitializeComponent()
 End Sub
   Yukarıdaki kodu da ekledikten sonra artık istersek yeni bir Page  sınıfı yaratırken atanacak olan Parametre listesini de verebiliriz. Page  sınıfımızın tam kodu aşağıdaki şekilde sonlanıyor.
  Partial Public Class Page
     Inherits UserControl
  
     Private PInitParams As System.Collections.Generic.IDictionary(Of String, String)
     Public Property InitParams() As System.Collections.Generic.IDictionary(Of String, String)
         Get
             Return PInitParams
         End Get
         Set(ByVal value As System.Collections.Generic.IDictionary(Of String, String))
             PInitParams = value
         End Set
     End Property
  
     Public Sub New()
         InitializeComponent()
     End Sub
  
     Public Sub New(ByVal  IncInitParams As System.Collections.Generic.IDictionary(Of String, String))
         Me.InitParams = IncInitParams
         InitializeComponent()
     End Sub
  
     Private Sub Page_Loaded(ByVal sender As Object, ByVal e As System.Windows.RoutedEventArgs) Handles Me.Loaded
         Metin.Text =  InitParams("metin")
     End Sub
 End Class
Page.Loaded durumunda da Page sınıfımızın kendi Property'si olan InitParams üzerinden Metin parametresini alarak TextBlock içerisine yazdırıyoruz. Peki App.xaml'ın arkasına ne yazdık?
HTML-Kodu:
Partial Public Class App
     Inherits Application
  
     Public Sub New()
         InitializeComponent()
     End Sub
  
     Private Sub Application_Startup(ByVal o As Object, ByVal e As StartupEventArgs) Handles Me.Startup
         Me.RootVisual = New  Page(e.InitParams)
     End Sub
  
 End Class
Gördüğünüz gibi Page sınıfını yaratırken doğrudan uygulamaya gelen tüm parametrelerin listesini de sınıfımıza aktarıyoruz. Böylece artık Page sınıfında da söz konusu tüm parametrelere ulaşılabilecek.
Hepinize kolay gelsin.



Kaynak: [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
İmzamDisplay Signature
Digg this Post!Add Post to del.icio.usFurl this Post!Facebookta paylaş!!Google'da PaylaşYahoo'da PaylaşLive'da Paylaş!
Alıntı ile Cevapla

Cevapla

Bookmarks


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 
Seçenekler
Stil

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Açık
Pingbacks are Açık
Refbacks are Açık
Hizli Erisim

Benzer Konular
Konu Konuyu Başlatan Forum Cevaplar Son Mesaj
Silverlight ve VideoBrush Kullanımı XiLoNeN Silverlight, Expression, LinQ, Ajax, JavaScript 1 26-05-2008 21:11
Sayfa içi Silverlight uygulamaları XiLoNeN Silverlight, Expression, LinQ, Ajax, JavaScript 0 26-05-2008 15:27
Silverlight MediaElement ve JavaScript XiLoNeN Silverlight, Expression, LinQ, Ajax, JavaScript 0 26-05-2008 14:53
Silverlight Uygulamalarında Performans XiLoNeN Silverlight, Expression, LinQ, Ajax, JavaScript 0 26-05-2008 14:48
Silverlight Streaming Servisleri XiLoNeN Silverlight, Expression, LinQ, Ajax, JavaScript 0 26-05-2008 14:43


WEZ Format +3. Şuan Saat: 15:10.

Powered by vBulletin® Version 3.7.3
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.

Yahoo bot last visit powered by MyPagerank.Net Powered by  MyPagerank.Net Join 4Shared Now! Msn bot last visit powered by MyPagerank.Net cvZip.com - Bilişim Sektörünün Yeni Kariyer Platformu

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193