Güncel
Loading...

Silverlight ile Fırsat Sitesi Yapalım -9(User kontrollere veri tabanındaki bilgilerin Bind edilmesi, ve User kontrolerden Xaml ile veri alımı ve işlenmesi)

      Öncelikle User Control oluşumdan bahsedelim,UserControl silverlight’ta oldukça kullanışlı bir yapı özellikle veri tabanı ile ilgili işlemlerde bilgileri ItemSourcesine verebileceğimiz ve bind ettiğimiz ilgili elemanlarda istediğimiz bilgilerin gözükmesini sağlayan bir yapı.Örneğin Markalar ana sayfasında en önemli content markaların isimleri resmi alışverişe katıl butonu kampanya bilgisi işte tüm bunlar image iki buton ve marka adı için bir textblockdan oluşan yapıdır(User Control ) ve bu userKontrolün ismine MarkalarL(istesi) diyerek işlem adımlarının nasıl gerçekleştiğini görelim.

MarkalarAnasayfa.xaml:

<ItemsControl x:Name="MarkalarL" Background="Black">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal" Width="auto" />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>

<StackPanel>

<Image Source="{Binding MarkaResmi}" Width="550" Height="340"/>
<TextBlock Text="{Binding MarkaAdi}" FontSize="16.667" Foreground="white"/>
<Button x:Name="kampanyazamani" FontSize="14.667" DataContext="{Binding}" Content="Kampanya Bilgisi" Style="{StaticResource ButtonStyle1}" Width="400" FontFamily="Century Gothic" />
<Button Content="Alışverişe Katıl" Style="{StaticResource ButtonStyle1}" Width="400" FontFamily="Century Gothic" FontSize="17.667" DataContext="{Binding}"/>
</StackPanel>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>


MarkalarAnasayfa.xaml.cs:

webservis.MarkalariGetirAsync();
            webservis.MarkalariGetirCompleted += new EventHandler<MarkalariGetirCompletedEventArgs>(webservis_MarkalariGetirCompleted);

        void webservis_MarkalariGetirCompleted(object sender, MarkalariGetirCompletedEventArgs e)
        {
            this.MarkalarL.ItemsSource = e.Result;
          
        }

Bu UserContol içindeki elemanlara ulaşmak ise biraz zahmetli bir iş çünkü Visual Tree hepler ile User controlün her katamanı dolaşılıp istenilen elementler(alışverişe katıl butonu vb)extension metod ile fırlatılmalı.

User control elemanlarından veri alınması demek bir butona tıkladığımızda sender ile hangi butona tıkladığımızın ilişkilendirilmesini sağlamaktır,bunun için butonun xaml tarafında DataContexti kedisi ile bind edilmeli yani klasik bind işleminde sadece ={Bind} yazılmalı.

Share on Google Plus

About Sema KUDU

This is a short description in the author block about the author. You edit it by entering text in the "Biographical Info" field in the user admin panel.
    Blogger Comment
    Facebook Comment

0 yorum :

Yorum Gönder

Türkiye yenilmez,Millet Eğilmez!