Post Page Advertisement [Top]

Kategoriler Menüsü içinde veri tabanından gelen bilgilere göre dinamik  butonlarla dolan bir stack paneldir.Butonlara erişim için aşagıdaki yöntem kullanılır.
 
void KategoriListesi_MouseEnter(object sender, MouseEventArgs e)
        {
            ItemsPresenter itemsPresenter = VisualTreeHelper.GetChild(this.KategoriListesi, 0) as ItemsPresenter;
            Panel standartPanel = VisualTreeHelper.GetChild(itemsPresenter, 0) as Panel;

            foreach (ContentPresenter contentPresenter in standartPanel.Children)
            {
                StackPanel myStackPanel = VisualTreeHelper.GetChild(contentPresenter, 0) as StackPanel;
                Button myButton = myStackPanel.Children.ElementAt(0) as Button;
                myButton.Click += new RoutedEventHandler(myButton_Click);
            }
        }


void myButton_Click(object sender, RoutedEventArgs e)
        {
            Button buttonsender = sender as Button;
            MarkaKategorileri kategoritosend = buttonsender.DataContext as MarkaKategorileri;
            int iletilecekkategoriID = kategoritosend.KategoriID;
            int iletilecekmarkaID = kategoritosend.KMarkaID;
            this.frame3.Navigate(new Uri(String.Format("/Urunler.xaml?kategoriid={0}&markaIDx={1}", iletilecekkategoriID, iletilecekmarkaID), UriKind.Relative));
        }


Görüldüğü gibi kategoriler sayfasında istenilen kategoriye tıklandığında ilgili urunler sayfasına hareket edilmekte ve iki parametre aktarılmakta bunlardan biri kategoriId iken diğeri marka id dir. Marka ID urunun hangi markaya ait olduğunu göstermek için,kategori ID ise hangi kategorideki ürünler getirileceğini belirlemek için gereklidir.

Back butonu ise bir önceki sayfaya hareket etmeyi sağlar:

void backbutton_Click(object sender, RoutedEventArgs e)
        {
            this.frame3.Navigate(new Uri("/MarkalarAnasayfa.xaml", UriKind.Relative));
        }

Hiç yorum yok:

Yorum Gönder

Bottom Ad [Post Page]