WPF/MVVM模式入门教程(一):简介与规范

摘要:
它用于处理业务逻辑。每个视图必须具有相应的Model和ViewModel。这种模式的最大优点是分离UI和业务逻辑。页面修改不会影响后台的业务逻辑。如果您正在开发一个严肃的WPF应用程序。该应用程序稍后将进行扩展,因此作者建议您使用MVVM模式来开发WPF应用程序。进入项目后,创建4个空文件夹。View文件夹用于存储视图(xaml文件)。ViewModel是用于存储业务逻辑的处理类。

什么是MVVM模式?

  MVVM的全称是——Model、View、ViewModel,翻译过来就是:模型、视图、视图模型。ViewModel是比较抽象的,它起到承上启下的作用,用于处理业务逻辑。每一个View都需要有对应的Model和ViewModel。

为什么需要MVVM模式?

  该模式最大的优点就是将UI和业务逻辑进行剥离,使项目高内聚低耦合。美工和后端开发人员可以同时开工,页面修改不会影响到后台的业务逻辑,方便了项目后期的维护。

什么时候用MVVM模式?

  如果你只需要显示一句“Hello World”,使用该模式会令你抓狂。如果你是开发一个正儿八经的WPF应用,并且该应用后期会进行功能扩展,维护等操作。那笔者建议你使用MVVM模式开发WPF应用。

 创建项目

  创建一个“WPF应用”类型的项目,项目名称为:MVVMtest1。进入项目之后先创建4个空文件夹,分别是:common、Model、View、ViewModel。

  common文件夹存放公共类,后面会用到。Model文件夹存放模型字段。View文件夹用于存放视图(xaml文件)。ViewModel用于存放业务逻辑的处理类。

WPF/MVVM模式入门教程(一):简介与规范第1张

其它的准备工作

  为了使初学者能更好的入门,笔者将简化文件的文件名,避免长文件名降低识别度。

  第一步:将MainWindow.xaml文件剪切到View文件下,并重命名为F.xaml

WPF/MVVM模式入门教程(一):简介与规范第2张 

  第二步:打开App.xaml文件并将文件内的StartupUri修改为"View/F.xaml",因为xaml放入了View文件夹里,如果不修改这一句,运行的时候将出错,提示找不到这个xaml文件。

WPF/MVVM模式入门教程(一):简介与规范第3张

  当这些工作都准备好了,我们下一期将在该项目代码的基础上进入MVVM设计模式的正题。

免责声明:文章转载自《WPF/MVVM模式入门教程(一):简介与规范》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇MySQL8身份验证问题解决JS和JSP的区别下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Eclipse:Eclipse平台技术概述

  在OpenExpressApp make business engineers develop applications中说过先考虑使用EMF先实现一个TOGAF9的建模工具来综合的了解建模更方面的知识,然后再做评估是自己开发还是采用开源产品来做OpenExpressApp的建模支持。   MEF是Eclipse的一个开源项目,它是建立在Eclipse...

死亡笔记之1:vue-cli

一、vue-cli是什么 使用vue开发大型项目时,我们必然会使用到Vue-cli来更高效率的完成我们的工作。 >> vue-cli是vue-Command-Line Interface为vue命令行界面,俗称为脚手架; >> vue-cli是官方发布vue.js项目脚手架; >> 使用vue-cli可以快速搭建vue开...

01. go-admin的下载与启动

目录 一.介绍 二.新建空文件夹 三.获取后台源码并启动 1.下载编译go代码 2.配置命令到goland IDE ,debug启动 四.获取前端ui源码并启动 1.下载编译go代码 2.启动项目 ** go-admin 基于Gin + Vue + Element UI的前后端分离权限管理系统** 系统初始化极度简单,只需要配置文件...

数字化转型

华为在大量的行业数字化转型实践中,摸索积累了一套应用数字化技术实现业务成功的战略框架与战术工具集,对业务可持续创新发展的最佳实践做了总结,提炼了其中具有通用性,普世性的关键点与要素,形成了一份简单可操作的方法。 坚持1个企业级转型战略,把数字化转型定位为企业级战略,全局谋划。 创造2个保障条件,通过组织转型激发组织活力,通过文化转型创造转型氛围。 贯彻3个...

从零开始实现ASP.NET Core MVC的插件式开发(九)

标题:从零开始实现ASP.NET Core MVC的插件式开发(九) - 升级.NET 5及启用预编译视图 作者:Lamond Lu 地址:https://www.cnblogs.com/lwqlun/p/13992077.html 源代码:https://github.com/lamondlu/Mystique 适用版本:.NET Core 3.1, ....

flutter_blue 蓝牙插件实战及那些坑

项目场景: 地下车库无网路的情况下需要使用蓝牙对小区门禁进行开门 本人掘金文章 坑一: 安卓端引入flutter_blue运行项目报错 1. 原因: 安卓sdk版本需要28以上 2. 解决: android/build.gradle 下修改 compileSdkVersion  targetSdkVersion 为 28;  minSdkVersion 修...