WPF中监视DependencyProperty的变化

              WPF中监视DependencyProperty的变化

                     周银辉

 

尽管一个类会提供很多事件,但有时候还是显得不够,比如说前两天我就以为WPF的ListBox控件会有ItemsSourceChanged事件,但好像没有。这里有一个方法可以监视任何一个DependencyProperty的Changed,下面是demo:

复制代码
    public class People : DependencyObject
    {
        public static readonly DependencyProperty NameProperty =
            DependencyProperty.Register("Name", typeof (string), typeof (People), new PropertyMetadata(default(string)));

        public string Name
        {
            get { return (string) GetValue(NameProperty); }
            set { SetValue(NameProperty, value); }
        }
    }

//.........
        private void ButtonBase_OnClick(object sender, RoutedEventArgs e)
        {
            var people = new People {Name = "zhang san"};

            var descriptor =  DependencyPropertyDescriptor.FromProperty(People.NameProperty, typeof (People));
            descriptor.AddValueChanged(people, (o, args) => MessageBox.Show("name changed to " + people.Name));

            people.Name = "Li si";
        }
复制代码

 

 

 

posted @   周银辉  阅读(4745)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
点击右上角即可分享
微信分享提示