当前位置: 首页 > 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.xdnf.cn/news/1064467.html

相关文章:

  • opencv 之双目立体标定算法核心实现
  • STM32F103C8T6,窗口看门狗(WWDG)与独立看门狗(IWDG)详解
  • all()函数和any()函数
  • 【机器学习四大核心任务类型详解】分类、回归、聚类、降维智能决策指南
  • 【投稿与写作】overleaf 文章转投arxiv流程经验分享
  • 开发语言本身只是提供了一种解决问题的工具
  • Windows 后渗透中可能会遇到的加密字符串分析
  • C++结构体初始化与成员函数实现语法详解
  • webpack+vite前端构建工具 -6从loader本质看各种语言处理 7webpack处理html
  • c#websocket心跳包自定义实现,支持异步操作的取消
  • RN(React Native)技术应用中常出现的错误及解决办法
  • 可理解性输入:洗澡习惯
  • 【设计模式】策略模式 在java中的应用
  • 《Redis》事务
  • idea2023+zulu-jdk+maven3.9.10
  • 【后端】负载均衡
  • 解决OSS存储桶未创建导致的XML错误
  • LLMs之MCP:excel-mcp-server的简介、安装和使用方法、案例应用之详细攻略
  • 5.3 VSCode使用FFmpeg库
  • 一,python语法教程.内置API
  • modelscope设置默认模型路径
  • python中学物理实验模拟:凸透镜成像和凹透镜成像
  • springboot通过独立事务管理器实现资源隔离与精准控制​
  • C++ 函数模板
  • JavaEE初阶第三期:解锁多线程,从 “单车道” 到 “高速公路” 的编程升级(一)
  • 【格与代数系统】偏序关系、偏序集与全序集
  • python的校园兼职系统
  • 5.2 Qt Creator 使用FFmpeg库
  • C++ 的设计模式
  • 一文详解归并分治算法