当前位置: 首页 > 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

相关文章:

  • 案例练习二
  • 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章 接口 笔记
  • 英文购物网站建设/网络推广的优势有哪些
  • 做橙光游戏的网站/电商热门关键词
  • 自建购物网站/沈阳百度快照优化公司
  • 求个没封的a站yw1129cm/上海最近三天的新闻
  • 建设公司网站需要多少天/seo公司 杭州
  • 企业网站 ecs 虚拟主机/站长工具推荐