Post Page Advertisement [Top]

      Ö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ı.

Hiç yorum yok:

Yorum Gönder

Bottom Ad [Post Page]