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

winform mvvm

if (!mvvmContext1.IsDesignMode)
                InitializeBindings();

这段代码的意思是:如果当前应用程序不是处于设计模式(即程序正在运行),就调用InitializeBindings方法来初始化视图与视图模型之间的绑定。

void InitializeBindings()
        {
            var fluent = mvvmContext1.OfType<MainViewModel>();

}

MainViewModel 调用  选择MainViewModel类型

 void InitializeBindings(){var fluent = mvvmContext1.OfType<MainViewModel>();fluent.SetBinding(textEdit1,e=>e.Text,v=>v.TextEditContent);fluent.SetBinding(textEdit2,e=>e.Text,v=>v.TextEditContent2);fluent.BindCommand(simpleButton1,it=>it.ChangeTextEditOne());}
控件实例  e=>e.Text
这是一个lambda表达式,用于指定目标控件的绑定属性。
e:表示目标控件textEdit1。
e.Text:表示目标控件textEdit1的Text属性
v=>v.TextEditContent
这也是一个lambda表达式,用于指定绑定的源属性。v:表示绑定的源对象,可能是某种视图模型(ViewModel)或数据模型。
v.TextEditContent:表示源对象的TextEditContent属性。这里表示绑定的源属性是v的TextEditContent属性public virtual string TextEditContent { get; set; } = "TextEditOne";
绑定是属性必须public virtual   属性getset 且有初始值

这个绑定有点类似wpf的绑定了

不过需要一个中间量 并且是双向绑定 TwoWay

http://www.dtcms.com/a/256735.html

相关文章:

  • 案例练习二
  • Unity3D 屏幕点击特效
  • 【前后前】导入Excel文件闭环模型:Vue3前端上传Excel文件,【Java后端接收、解析、返回数据】,Vue3前端接收展示数据
  • 「Linux文件及目录管理」vi、vim编辑器
  • Azure Devops
  • 【递归,搜索与回溯算法】记忆化搜索(二)
  • 深度实战|星环OS三大创新场景解密:如何用确定性技术重构智能汽车安全与体验?
  • 【旧题新解】第 20 集 输出保留 3 位小数的浮点数
  • 解决qt.qpa.plugin: Could not find the Qt platform plugin “windows“ in ““ ...
  • MySQL安装与配置【windowsMac】
  • 15.3 LLaMA 3+LangChain实战:智能点餐Agent多轮对话设计落地,订单准确率提升90%!
  • B004基于STM32F401单片机简易交通灯实训数码管显示设计仿真资料
  • Vue3解析Spring Boot ResponseEntity
  • Day39 图像数据与显存
  • 关于uniapp解析SSE响应数据的处理
  • 如何用AI开发完整的小程序<7>—让AI微调UI排版
  • jxWebUI--系统说明
  • 企业级安全实践:SSL 加密与权限管理(二)
  • 云原生/容器相关概念记录
  • 第16章 接口 笔记
  • TCP流量控制与拥塞控制:核心机制与区别
  • Java 21 的虚拟线程与桥接模式:构建高性能并发系统
  • 【Dicom标准】dicom数据中pixelData显示处理流程详细介绍
  • Flink作业三种部署模式:架构、配置与实战应用
  • 由浅入深详解前缀树-Trie树
  • OC—多界面传值
  • Python 深度学习基础:TensorFlow 入门——从张量到神经网络的实战指南
  • Python 爬虫简单示例
  • 关于存储与网络基础的详细讲解(从属GESP二级内容)
  • React 核心原理与Fiber架构