该工具类实现INotifyPropertyChanged接口

/// <summary> /// 实现了属性更改通知的基类 /// </summary> public class BaseNotifyPropertyChanged : System.ComponentModel.INotifyPropertyChanged { /// <summary> /// 属性值变化时发生 /// </summary> /// <param name="propertyName"></param> protected virtual void OnPropertyChanged(string propertyName) { if (this.PropertyChanged != null) this.PropertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); } /// <summary> /// 属性值变化时发生 /// </summary> /// <param name="propertyName"></param> protected virtual void OnPropertyChanged<T>(Expression<Func<T>> propertyExpression) { var propertyName = (propertyExpression.Body as MemberExpression).Member.Name; this.OnPropertyChanged(propertyName); } public virtual event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; }
使用时继承此类,然后在VM中的属性get使用:OnPropertyChanged(()=>PropertyName) ??难道不是应该Set
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
2017-02-22 基于Jquery的实现回车键Enter切换焦点
2017-02-22 一个事半功倍的c#方法 动态注册按钮事件
2017-02-22 Page_ClientValidate 用法
2017-02-22 防止重复提交 仅提交一次的终极绝杀技
2017-02-22 asp.net正则表达式删除指定的HTML标签的代码
2017-02-22 客户端用JavaScript填充DropDownList控件 服务器端读不到值
2017-02-22 asp.net session丢失的解决方法小结