当前位置: 首页 > article >正文

47.数据绑定的PropertyChanged C#例子 WPF例子

[CallerMemberName] string propertyName = null 这段代码中的 [CallerMemberName] 是一个特性(Attribute),它应用于 propertyName 参数。这个特性的作用是,在编译时,如果调用 OnPropertyChanged 方法时没有显式提供 propertyName 参数的值(即使用了默认参数 null),编译器会自动将调用该方法的成员(如属性、方法的名称)作为 propertyName 参数的值。

PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); 

PropertyChanged是个事件

?用于检查PropertyChanged的调用者存在不存在,不存在就是空

空的话invoke不会执行

invoke有两个参数:事件的发送者(object类型)和一个PropertyChangedEventArgs对象。

"invoke" 通常指的是调用一个方法、过程、函数或委托。英文意思就是调用

简单来说

CallerMemberName自动会把属性的名称传进来

PropertyChanged?会检查调用者,调用者不为空时就会执行

Invoke只是一种调用方式,可以看成是固定格式

this是对象,后面的是传入的属性名称,这样就会通知到这个对象,说这个属性改变了

这里的对象是数据绑定的属性所属的类的对象,而不是控件。

更细节的我也不知道,数据绑定还蛮难懂的


http://www.kler.cn/a/509189.html

相关文章:

  • Linux:磁盘分区
  • 什么是长连接?Netty如何设置进行长连接?
  • dockerhub上一些镜像
  • 高性能、并发安全的 Go 嵌入式缓存库 如何使用?
  • ubuntu22.04安装注意点
  • PDF文件提取开源工具调研总结
  • 基于Spring Cloud的电商系统设计与实现——用户与商品模块的研究(上)
  • 基于Springboot+Vue的小区物业管理系统
  • 渗透测试常用专业术语扫盲
  • 力扣-数组-283 移动零
  • Python获取系统运行时间
  • Linux:磁盘分区
  • 单线性激光扫描、多线性激光扫描?激光扫描三维重建算法环节
  • Qt应用之MDI(多文档设计)
  • 系统架构设计师-第2章-操作系统
  • 【书生大模型实战营】Git 基础知识-L0G3000
  • 1神经网络中的神经元模型
  • ElasticSearch DSL查询之复合查询
  • CTK插件框架学习-源码下载编译(01)
  • 第29周:文献阅读
  • HTML应用指南:利用GET请求获取全国特斯拉充电桩位置
  • 线程池的数据结构是什么 为什么会占用堆内存 线程池是一个对象吗
  • 算法练习——链表
  • YOLOv8改进,YOLOv8检测头融合RepConv卷积,并添加小目标检测层(四头检测),适合目标检测、分割等
  • 基于微信小程序的驾校预约管理系统设计与实现(LW+源码+讲解)
  • Linux中关闭SSH的DNS解析