WPFINotifyPropertyChanged使用技巧
2016-05-05 23:12
501 查看
WPFINotifyPropertyChanged使用技巧
全部代码
/// <summary> /// 实现INotifyPropertyChanged 向客户端发出某一属性值已更改的通知 /// </summary> [SerializableAttribute] public class NotifyPropertyChanged : INotifyPropertyChanged { public event PropertyChangedEventHandler PropertyChanged; public void NotifyChanged(string propertyName) { if (PropertyChanged != null) { PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); } } #region 引发指定属性更改事件 /// <summary> /// 引发指定属性更改事件 /// </summary> public virtual void RaisePropertyChanged() { /* * 1.取当前调用堆栈的上一个方法(一般为属性内部的SetMethod) * 2.目前CLR对属性SetMethod方法的命名规则为“set_” + 属性名 * 3.只要CLR依旧保持着这个命名规则,我们就可以自动忽略参数了 */ var stack = new StackTrace(); var lastFrame = stack.GetFrame(1); var methodName = lastFrame.GetMethod().Name; var propertyName = methodName.Substring(methodName.LastIndexOf('_') + 1); this.NotifyChanged(propertyName); } #endregion }
全部代码
相关文章推荐
- linux下挂载windows C、D、E盘
- linux基础(10)--文件普通权限与特殊权限管理--RHEL6.5
- linux命令(15):mount/umount命令
- linux命令(14):ifup/ifdown/ip addr命令
- 使用 Vagrant 创建 Ubuntu Desktop 虚拟机
- linux命令(13):kill/killall命令
- linux命令(12):ping命令
- linux命令(11):df命令
- Hadoop集群搭建及wordcount测试
- linux命令(10):ps命令
- linux命令(9):route命令
- 重构一个快不可维护的项目
- linux基础之用户及权限
- Linux下安装WPS的一些问题
- linux命令(8):du命令
- linux命令(7):ipcs/ipcrm命令
- linux命令(6):tar命令
- linux命令(5):netstat命令
- linux命令(4):vmstat命令
- linux命令(3):rpm命令