惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

大猫的无限游戏
大猫的无限游戏
U
Unit 42
T
Tailwind CSS Blog
罗磊的独立博客
WordPress大学
WordPress大学
小众软件
小众软件
Recent Announcements
Recent Announcements
博客园 - 聂微东
Jina AI
Jina AI
云风的 BLOG
云风的 BLOG
博客园 - 【当耐特】
爱范儿
爱范儿
Microsoft Azure Blog
Microsoft Azure Blog
GbyAI
GbyAI
V
V2EX
博客园 - 三生石上(FineUI控件)
I
InfoQ
雷峰网
雷峰网
G
Google Developers Blog
阮一峰的网络日志
阮一峰的网络日志
B
Blog
腾讯CDC
A
About on SuperTechFans
博客园 - 叶小钗

博客园 - 周银辉

[转]用Whois获得电信运营商的IP地址是如何分配的? 右键添加复制路径选项 nmap报错: Failed to open device ethxxx XML中输入特殊符号 windows forms 上一个类似于wpf snoop 的工具: Hawkeye 非常棒的Visual Studo调试插件:OzCode 为普通Object添加类似AttachedProperty的属性 Swift之 ? 和 ! Swift中的willSet与didSet 快速掌握iOS API的一个小技巧 一份关于Swift语言学习资源的整理文件 自定义的事件管理器 xcode6 beta 中智能提示(自动完成)功能有时不显示的问题 开源项目导入eclipse的一般步骤 WPF Popup 控件导致被遮挡内容不刷新的原因 修改eclipse的自动完成功能 mac os 下搭建android开发环境 mac下打开FTP服务 Mac下打开eclipse 始终提示 你需要安装Java SE 6 Runtime
WPF中监视DependencyProperty的变化
周银辉 · 2014-07-08 · via 博客园 - 周银辉

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