Post Page Advertisement [Top]

    Aynı örnek ile devam edersek markalar anasayfasındaki MarkalarL controlündeki kampanya alışveriş bilgisi butonuna ve alışverişe katıl butonuna erişmek için(click vb. Eventlerine erişmek):



void MarkalarL_MouseEnter(object sender, MouseEventArgs e)
        {
            //ItemsControl'ün içindeki ilk eleman, bir ItemsPresenter.
            ItemsPresenter itemsPresenter = VisualTreeHelper.GetChild(this.MarkalarL, 0) as ItemsPresenter;

            //ItemsPresenter, kendisi en dışa bir stack panel koyuyor.
            Panel standartPanel = VisualTreeHelper.GetChild(itemsPresenter, 0) as Panel;

            //bu panel'in çocukları birer content presenter.
            foreach (ContentPresenter contentPresenter in standartPanel.Children)
            {
                //content presenter'ın içinde, bizim koyduğumuz stack panel var.
                StackPanel myStackPanel = VisualTreeHelper.GetChild(contentPresenter, 0) as StackPanel;

                ///ElementAt() metodu, bir extension metot.
                Button myButton = myStackPanel.Children.ElementAt(2) as Button;
                Button myButton1 = myStackPanel.Children.ElementAt(3) as Button;
                myButton.MouseEnter += new MouseEventHandler(myButton_MouseEnter);
                myButton1.Click += new RoutedEventHandler(myButton1_Click);

            }
        }
        void myButton1_Click(object sender, RoutedEventArgs e)
        {
            Button buttonsender = sender as Button;
            Markalar markatosend = buttonsender.DataContext as Markalar;
            int iletilecekmarkaID = markatosend.MarkaId;
            this.frame2.Navigate(new Uri(String.Format("/MarkaUrunKategorileriSayfasi.xaml?markaid={0}", iletilecekmarkaID), UriKind.Relative));
        }

        void myButton_MouseEnter(object sender, MouseEventArgs e)
        {

            Button buttonsender = sender as Button;
            Markalar secilenmarka = buttonsender.DataContext as Markalar;
            System.DateTime date3 = DateTime.Now;
            System.TimeSpan diff3 = secilenmarka.MarkaKamapanya_BitisTarihi.Value.Subtract(date3);
            buttonsender.Content = "Kapmanyanın bitmesine"+" "+diff3.Days.ToString() + "gün" + diff3.Hours + "saat" + diff3.Minutes + "dk" + diff3.Seconds+"saniye"+" " + "kaldı";
        }

Hiç yorum yok:

Yorum Gönder

Bottom Ad [Post Page]