Güncel
Loading...

Silverlight ile Fırsat Sitesi Yapalım -10(UserControl elemanlarına ulaşım ve User kontrolerden Xaml ile veri alımı ve işlenmesi)

    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ı";
        }
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!