WPF进阶之MVVM教程(五):​ViewModel

自写了WPF入门系列(点击学习)文章,收到很多大学生的私信,经常会问一些MVVM的问题,由于自己对MVVM也并不了解,遇到问题也是经常请朋友帮忙看看,趁着业余时间,经过一段时间得学习、开始写MVVM系列的文章,主要写一下自己对MVVM的理解,希望这不仅是对自己成长的记录,也能对同学们有所帮助。

来吧,让我们再次起航,WPF从入门到放弃,再到进阶之路!

欢迎大家在剑指工控技术群里继续讨论、共同学习!

来吧!一起学起来!

  1. WPF进阶之MVVM教程(一)

  2. WPF进阶之MVVM教程(二)(附源码下载)

  3. WPF进阶之MVVM教程(三)-点餐系统实操

  4. WPF进阶之MVVM教程(四):读取xml文件

第5讲

MVVM教程(五)-ViewModel

ViewModel主要起到对数据的过滤和校验的工作,这样的话从ViewModel传回来的数据就是干净的数据,起到对Model的保护的作用,视频是使用prism框架实现的,做项目也基本使用框架,那样功能更加强大,也更方便,由于prism框架也是刚学习,不是很熟悉,我们就用之前自己写的两个基类来实现,效果也是一样的,下面开始建ViewModel。

首先添加一个菜品菜单的ViewModel一个类:DishMenuItemViewModel

图片

继承之前写的NotifyBase的基类,并引用相应的名称空间。 

图片

需要新建两个属性,

一个是:是否选中IsSelected

一个是:Model类型的Dish  

IsSelected可以使用之前创建的快捷键propn连续按两下tab键来快速新建 

图片

主要的View的ViewModel还用之前的MainWindowViewModel

将之前的代码屏蔽,新建两个命令属性

PlaceOrderCommand 下单的命令属性  SelectMenuItemCommand选择菜品的命令属性 

图片

新建显示选中几个菜品和餐馆对象属性

图片

新建用来显示菜品信息的属性和加载菜馆信息的方法

图片

新建菜品信息的方法和使用LINQ查询出是否选中的数量。 

图片

查询选中的菜品的名称,调用下订单的方法 写入到指定路径,加载餐馆、菜单信息、执行委托命令

图片

ViewModel部分完成了。

下次主要讲解View部分的实现。

就这么简单!

 

作者简介:

曹言林:加入工控八余载,从事过单片机编程、控制柜接线、设备维修,PLC编程、上位机编程、MES实施。对各方面虽不是专家级别,也愿为工控圈添砖加瓦,贡献自己的一份力量。

 

WPF从入门到放弃-回顾

  1. WPF入门到放弃(一) | 安装与创建

  2. WPF入门到放弃(二) | 初识XAML

  3. WPF入门到放弃(三)| 制作串口调试助手

  4. WPF入门到放弃(四)| 给串口调试助手列表赋值(附调试软件)

  5. WPF入门到放弃(五)| 串口的读取与写入(程序&附串口调试精灵)

  6. WPF入门到放弃(六)| 画面优化与发布(附源程序)

  7. WPF入门到放弃(七)| 常用布局控件的用法

  8. WPF入门到放弃(八)| 常用的控件(二)

  9. WPF入门到放弃(九)|  读取excel数据并写入sqlite数据库中(附免安装连接数据库工具)

  10. WPF入门到放弃(完结篇)| sqlite以及数据复用(附总源码分享)

欢迎大家在剑指工控技术群里继续讨论、共同学习!来吧!一起学起来!

Tags: