MVVM和MVVMLight简介及项目开发(一)

MVVM和MVVMLight简介及项目开发(一)
一、MVVM及MVVMLight简介
注:下面使用 Microsoft Visual Studio2022,简介引自导师教学
1、MVVM是Model-View-ViewModel的简写,主要目的是 为了分离视图(View)和模型(Model),由MVP(Model-View-Presenter)模式与 WPF结合的应用方式时发展演变过来的一种新型架构。的耦合,通过数据绑定和命令来处理UI属性及事件驱动。
(1)、MVVM模式和MVC模式一样,主要目的是分离视图(View)和模型(Model),有几大优点。
①. 低耦合:视图(View)可以独立于Model变化和修改,一个ViewModel可以绑定到不同的View上,当View变化的时候Model可以不变,当Model变化的时候View也可以不变。
②. 可重用性:可以把一些视图逻辑放在一个ViewModel里面,让很多View重用这段视图逻辑。 ③. 独立开发:开发人员可以专注于业务逻辑和数据的开发(ViewModel),设计人员可以专注于页面 设计,使用Expression Blend可以很容易设计界面并生成xml代码。
④. 可测试:界面素来是比较难于测试的,而现在测试可以针对ViewModel来写。

2.MVVM Light框架
(1)、MVVMLight是一个实现MVVM模式的轻量级框架,可用于WPF、Windows8等项目开发。
(2)、如何在你的WPF应用中使用MVMLight 主要使用方式有两种; 一种是去官网上下载MVVMLight Toolkit,安装之后,VS模板中会出现MvvmLight项目模板,你可以 直接使用该项目模板来创建项目了。 里面会包含默认的ViewModelLocator和MainViewModel,MainViewModel就是你Main视图的 ViewModel了,而ViewModelLocator是一个全局的ViewModel加载注册器。
(3)、另一种方式就是去NuGet上安装,这无疑是最便捷的事了。在NuGet 工具箱上搜索 MVVM Light,可 以看到两个项目,一个是MVVM Light , 一个是 MVVM Light libraries only。 当前版本是5.3,说明MVVM Light的更新速度还是挺快的,Prerelease中还有 V5.4 的 ALAPHA 版 本。 Nuget上这两个项目的区别就是MVVM Light除了必要的GalaSoft 组件之外,还会额外添加相关分层文 件目录形成简单的MVVMLight成型框架。

3.使用MVVMLight框架创建一个MVVM项目
(1)、打开Visual Studio 2022或其他版本,创建新项目–>搜索“WPF应用”–>找到“WPF 应用(.NET Framework)客户端应用程序”,点击进去配置新项目,重命名项目名称,指定项目保存位置,解决方案可以与项目名称一样,框架选择“.NET.Framework 4.7.2”或者更高版本然后创建。
MVVM和MVVMLight简介及项目开发(一)_第1张图片
(2)、在VS上面的菜单栏中找到工具–>NuGet包管理器–>管理解决方案的NuGet程序包–>点击浏览–>联网搜索“MVVmLight”–>点击第一个搜索结果大概大小为2.8M左右,然后在右边视图中勾选对应的项目给该项目安装,版本选择稳定版本点击安装并且接收服务条款。
MVVM和MVVMLight简介及项目开发(一)_第2张图片
(3)、安装MvvmLight框架后可以在右侧“解决方案资源管理器”的“引用”中可以看到引用的相应框架。
4.MVVM分层架构
(1)、View负责前端展示,与ViewModel进行数据和命令的交互。
(2)、ViewModel,负责前端视图业务级别的逻辑结构组织,并将其反馈给前端。
(3)、Model,主要负责数据实体的结构处理,与ViewModel进行交互。
MVVM和MVVMLight简介及项目开发(一)_第3张图片
MVVM和MVVMLight简介及项目开发(一)_第4张图片
(4)、在项目“解决方案资源管理器”中添加以下文件夹,如必需Model–>View–>ViewModel架构外还要会用到的NetworkManager(用于存放网络请求类)–>Resources(用于存放资源 例如xib,storyboard,图片,plist,音频,视频)–>Util(用于存放我们定义的分类和扩展或者工具类)–>Styles(页面按钮样式类)等等。
MVVM和MVVMLight简介及项目开发(一)_第5张图片
(5)、现在添在这里插入图片描述
加一个页面按钮的样式类,把该类存放在PublicClass文件夹中,选中PublicClass文件夹鼠标右键–>添加–>类–>命名类名称确定,
MVVM和MVVMLight简介及项目开发(一)_第6张图片
(6)、代码如下:Button(表示Windows按钮控件)、CornerRadius(表示矩形角的半径)、DependencyProperty(表示可通过诸如样式、数据绑定、动画和继承等方法设置的属性)。
MVVM和MVVMLight简介及项目开发(一)_第7张图片

你可能感兴趣的:(C#,visual,studio,wpf,c#,visual,studio)