黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

DependencyProperty使用中的3個場景,討論Prope

系統(tǒng) 1984 0

1:項目結(jié)構(gòu)圖

image

2:控件SilverlightControl1

前臺:

image

后臺:

        public partial class SilverlightControl1 : UserControl

    {

        public SilverlightControl1()

        {

            InitializeComponent();

        }



        public static readonly DependencyProperty StudentProperty = DependencyProperty.Register("Student", typeof(Student), typeof(SilverlightControl1), new PropertyMetadata(new PropertyChangedCallback(xxx)));



        public Student Student

        {

            get

            {

                return (Student)GetValue(StudentProperty);

            }

            set

            {

                SetValue(StudentProperty, value);

                

            }

        }



        static void xxx(DependencyObject d, DependencyPropertyChangedEventArgs e)

        {

            MessageBox.Show("sss");

        }

    }
  

3:調(diào)用方

前臺:

image

后臺:

        public partial class MainPage : UserControl

    {

        public MainPage()

        {

            InitializeComponent();

        }



        Student student1 = new Student() { StudentName = "hzh" + DateTime.Now.ToFileTime(), Age = 99 };

        Student student2 = new Student() { StudentName = "lmj" + DateTime.Now.ToFileTime(), Age = 99 };

        Student student3 = new Student() { StudentName = "lh" + DateTime.Now.ToFileTime(), Age = 99 };



        //初始化

        private void Button_Click(object sender, RoutedEventArgs e)

        {

            //采用非綁定機(jī)制

            uc1.Student = student1;

            //采用非綁定機(jī)制,對DataContext賦值

            uc2.DataContext = student2;

            //采用綁定機(jī)制

            uc3.DataContext = student3;

        }



        //改Model值

        private void Button_Click1(object sender, RoutedEventArgs e)

        {

            student1.StudentName = "lmj" + DateTime.Now.ToString();

            student1.Age = 90;

            student2.StudentName = "hzh" + DateTime.Now.ToString();

            student2.Age = 90;

            student3.StudentName = "hzh" + DateTime.Now.ToString();

            student3.Age = 90;

        }



        //更換Model

        private void Button_Click_1(object sender, RoutedEventArgs e)

        {

            student1 = new Student() { StudentName = "hzh" + DateTime.Now.ToFileTime(), Age = 99 };

            student2 = new Student() { StudentName = "lmj" + DateTime.Now.ToFileTime(), Age = 99 };

            student3 = new Student() { StudentName = "lh" + DateTime.Now.ToFileTime(), Age = 99 };

        }

    }
  

4:結(jié)論

無論是第一種方式,還是第三種方式,都能觸發(fā)PropertyChangedCallback,而如果調(diào)用采用第二種方式,則不會觸發(fā)PropertyChangedCallback。

源碼: SilverlightApplication320110609.rar

DependencyProperty使用中的3個場景,討論PropertyChangedCallback


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦?。?!

發(fā)表我的評論
最新評論 總共0條評論