public class PChangeTest:INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged; private void OnPropertyChanged(string propName)
{
this.PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propName));
}
private int _num;
public int Num
{
get { return _num; }
set
{
this._num = value;
OnPropertyChanged("Num"); }
}
private string _name;
public string Name
{
get { return _name; }
set
{
_name = value;
OnPropertyChanged("Name");
}
}
} class Program
{
public static void DealEventA(object sender, PropertyChangedEventArgs e)
{
Console.WriteLine($"Property {e.PropertyName} is changed!");
Console.WriteLine("This is Called in DealEventA");
}
public static void DealEventB(object sender, PropertyChangedEventArgs e)
{
Console.WriteLine($"Again,I notice Property {e.PropertyName} is changed!");
Console.WriteLine("This is Called in DealEventB");
}
static void Main()
{
PChangeTest pc = new PChangeTest();
pc.PropertyChanged += DealEventA;
pc.PropertyChanged += DealEventB;
pc.Num = 3;
pc.Name = "JohnYang";
}
}

output:

Property Num is changed!
This is Called in DealEventA
Again,I notice Property Num is changed!
This is Called in DealEventB
Property Name is changed!
This is Called in DealEventA
Again,I notice Property Name is changed!
This is Called in DealEventB

C# INotifyPropertyChanged Small Demo的更多相关文章

  1. MVVM开发模式简单实例MVVM Demo

    本文主要是翻译Rachel Lim的一篇有关MVVM模式介绍的博文 A Simple MVVM Example 并具体给出了一个简单的Demo(原文是以WPF开发的,对于我自己添加或修改的一部分会用红 ...

  2. 观察者模式实现INotifyPropertyChanged

    其实一直不知道INotifyPropertyChanged这个接口中PropertyChanged事件是什么时候有值的,因为在使用的时候,只要按步骤来就可以,因为我自己并没有对这个事件赋值,所以很好奇 ...

  3. WPF实现主题更换的简单DEMO

    WPF实现主题更换的简单DEMO 实现主题更换功能主要是三个知识点: 动态资源 ( DynamicResource ) INotifyPropertyChanged 接口 界面元素与数据模型的绑定 ( ...

  4. 【转】通过 INotifyPropertyChanged 实现观察者模式

    通过 INotifyPropertyChanged 实现观察者模式 原博客地址 http://frankdzu.blog.sohu.com/117654536.html 普通观察者模式存在的问题 我们 ...

  5. 定时任务 Wpf.Quartz.Demo.4

    本文继续介绍定时任务 Wpf.Quartz.Demo.3的一些小细节, 代码也请前往第3节下载. 1.RichTextBox右键菜单 <RichTextBox.ContextMenu>   ...

  6. 定时任务 Wpf.Quartz.Demo.2

    定时任务 Wpf.Quartz.Demo.1已经能运行了,本节开始用wpf搭界面. 准备工作: 1.界面选择MahApp.Metro 在App.xaml添加资源 <Application.Res ...

  7. NHibernate & INotifyPropertyChanged

    One of the things that make NHibernate easy to use is that it fully support the POCO model. But one ...

  8. winform + INotifyPropertyChanged + IDataErrorInfo + ErrorProvider实现自动验证功能

    一个简单的Demo.百度下载链接:http://pan.baidu.com/s/1sj4oM2h 话不多说,上代码. 1.实体类定义: class Student : INotifyPropertyC ...

  9. WPF---数据绑定之ValidationRule数据校验综合Demo(七)

     一.概述 我们利用ValidationRule以及ErrorTemplate来制作一个简单的表单验证. 二.Demo 核心思想:我们在ValidationRule中的Validate函数中进行验证, ...

  10. 通过一个demo了解Redux

    TodoList小demo 效果展示 项目地址 (单向)数据流 数据流是我们的行为与响应的抽象:使用数据流能帮我们明确了行为对应的响应,这和react的状态可预测的思想是不谋而合的. 常见的数据流框架 ...

随机推荐

  1. Jenkins - [02] 安装部署

    题记部分 一.Jenkins是什么   Jenkins,原名Hudson,2011年改为现在的名字,它是一个开源的实现持续集成的软件工具. 官网:https://www.jenkins.io/ 官网: ...

  2. swoole(8)http服务

    简介: swoole内置实现了一个简单的httpServer类.swoole的http server相当于php-fpm.最大优势在于高性能,代码只载入一次 http_server本质是swoole_ ...

  3. 【Ryan】: linux下挂在共享文件夹

    点击查看代码 $ vmware-hgfsclient $ sudo vmhgfs-fuse .host:/ /mnt -o allow_other

  4. vim使用技巧记录

    1.查找 '/' + 要找的字符串(正则表达式) + Enter # 查找偏移 'n': 查找下一个 'N': 查找上一个 大小写敏感性:字符串尾接\c不敏感,\C敏感 可以~/.vimrc在配置中配 ...

  5. docker部署codegeex4实现本地IDE编程助手

    实现了使用docker运行的ollama作为VSC或者其他IDE的编程助手,实现本地化的AI推理 环境 debian12 docker ollama 环境配置 ollama 参考 ollama在doc ...

  6. oracle怎么查询重复的数据

    在oracle中,可以利用count()函数配合select查询语句来查询重复的数据,语法为"select userCode from user group by userCode havi ...

  7. Docker创建Docker Swarm集群节点

    预置条件一.配置防火墙CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙.1.关闭firewall:systemctl stop firewalld.servi ...

  8. Delphi字符串加密解密函数

    unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms ...

  9. Shell语言编程(炼气)

    1. Shell脚本执行方式 执行方式 应用及场景 通过sh或bash 书写脚本后,最常用的方式,在其他非红帽系统中,建议使用bash运行脚本 通过.点或source 加载/生效配置文件(环境变量,别 ...

  10. emlog pro 文章编辑器(editor.md)的快捷键

    这里是一张图片,上面显示目前 emlog pro 编辑器所有**有效**的快捷键 (注意,是有效的快捷键,与 editor.md 官方公布的有出入,有些在系统是不可用的),对于长期使用emlog写作的 ...