WPF MVVM笔记
2024-08-31 21:15:27
学习了一番WPF MVVM,记录一下,微软的连接(https://msdn.microsoft.com/zh-cn/magazine/dd419663.aspx)
1.mvvm就是model,view,viewmodel三个,view和viewmodel是核心(个人理解哈),目的就是让他俩别抱得太紧,理解mvvm时,model基本可以弱化他的存储在
2.view和viewmodel是双向绑定的,viewmodel作为view的绑定源,view中只有xmal代码,viewmodel中有两部分,第一部分是ui交互的代码(一个view所有的ui交互的非xmal代码全在这里了),第二部分是业务逻辑代码(比如一个button按钮具体要调用哪个业务接口啥啥的)
3.用户的每一种操作都会定义对应的ICommand命令,ICommand命令在view中声明(就是按xmal语法绑定到对应的按钮之类的元素上),在viewmodel中定义和实现。
4.viewmodel会实现INotifyPropertyChanged接口,目的是达到viewmodel中的值变化时,view中对应的值随之更新。
5.viewmodel的封装,里面最好只包含和view交互的代码以及业务逻辑接口的调用,因为稍微复杂一点的界面和view交互的代码会有很多很多,如果把部分business的代码也写在这里,类会很大,维护也很麻烦,如果重新构建一个面目全非的ui,ui交互变化大,但是业务逻辑无变化,你就死定了。
最新文章
- Atitit 图像处理类库大总结attilax qc20
- Curator Cache
- 创建两个对象的两种方法,一中\new,另外一种不new
- Assetbundle的杂七杂八
- [转]对Android开发者有益的40条优化建议
- 值得关注的 10 个 Python 英文博客
- 多台服务之间共享Session
- MySQL查看索引、表信息、触发器
- 增强 Sublimetext3
- Java异常(输出[D@139a55问题)
- Tomcat学习笔记(二)—— 一个简单的Servlet容器
- Matlab to OpenCV Mat
- ES 在聚合结果中进行过滤
- C语言扫盲及深化学习
- [c++] opencv加载png
- java.lang.IllegalArgumentException: An invalid domain [.test.com] was specified for this cookie解决方法
- loadrunner11中文版破解文档+录制脚本(图/文)
- shell中的循环语法
- Java SE之初探反射机制
- Python实现邮件的批量发送
热门文章
- linux网络编程学习笔记之二 -----错误异常处理和各种碎碎(更新中)
- 关于用WebView或手机浏览器打开连接问题
- HDU2473 Junk-Mail Filter - 并查集删除操作(虚父节点)
- VC++中用API调用对话框资源
- 囚徒困境、价格大战与 iPhone 的价格
- 使用jsp,tomcat实现用户登录注册留言的代码
- radio实现第一次点击选中第二次点击取消
- leetcode——Reverse Words in a String 旋转字符串中单词顺序(AC)
- LeetCode总结 -- 树结构的一部分
- 基于Web实现在线绘画拓扑图[GraphEditor]