理解MVVM在WPF中的绑定关系

理解MVVM在WPF中的绑定关系

最近想使用WPF做一个自动化程序的雏形,但在第一步理解MVVM模型中就出了差错,后面翻看了各类博客也是似懂非懂,但终于功夫不负有心人,理解能力低下的LZ也大概初步了解了WPF应用中MVVM模型的使用。

MVVM模型在WPF中的使用

由于缺乏工程经验,是多文件工程的苦手,所以一开始不清楚MVVM模型多个文件的具体用途,塞了一脑子浆糊。只知道空泛的Model,ViewModel,View之间的关系,不知道具体各个文件应该存放什么内容,但后面琢磨了一下,主要的框架应该是这样的:

  1. Folder Model —— Model_0.cs —— Class Thing —— Thing.A; Thing.B;

  2. Folder ViewModel —— ViewModel_0.cs —— Object Thing (Named "th") —— th.A; th.B;

  3. Folder View —— View_0.xaml + View_0.xaml.cs —— UI_element.Content

大概是这么一个工程框架,值得一提的是xaml文件和xaml.cs文件其实是一体的,ui本就是C#编译生成的,所以虽然语法不同,但内容是互通的,不需要写重复代码。


那么我们一个个来看:

  • 最外层的都是文件夹,整合工程方便管理项目
  • 然后是对应每个MVVM模型的Model、ViewModel、View文件,这里编了个号为0
  • 下面是每个文件的内容及作用
Model
  • Model中声明一个名为Thing的类,它有A和B两个属性
  • 它的作用就是定义和声明类对象
ViewModel
  • ViewModel中新建这个名为Thing的类的一个对象,这里叫th,th作为Thing也有自己的A和B属性
  • ViewModel还需要写构造函数,目的是为了实例化th对象,为th的A和B属性赋值
  • 现在我们有th.A和th.B的值了,只需要绑定到相应的空间元素上就可以了
  • VM的功能就是把杂七杂八的逻辑都放在其中,比如获取值,数据处理得到新的值
View
  • DataContext相当于是xaml的命名空间,告诉控件去哪里能找到你想要的th对象
  • 既可以在xaml.cs文件中写this.DataContext = new ViewModel_0();,也可以在xmal文件<Windwo.DataContext/>中修改
  • th.A和UI_Element要绑定在一起还要一座桥,这座桥就是Binding对象
  • 最终得到的结果就是ViewModel_0对象把它内部的th.A和th.B交付给了ui元素,然后显示出来
  • 7
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值