当前位置:   article > 正文

WPF 使用MVVM框架创建一个项目_wpf使用mvvm

wpf使用mvvm

步骤如下:
1、打开Visual Studio 2017(或其他版本),选择新建项目
在这里插入图片描述
2、选择WPF应用(.Net Framework),同时给项目命名,并选择项目存放路径,最后点击确定
在这里插入图片描述
3、右键点击解决方案名称,点击“管理NuGet程序包”,点击浏览,在输入框中输入mvvmlight,点击MvvmLight进行安装,安装过程会有两个弹窗,点击确定和我接受
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
4、安装完成后,可以在项目中点击引用查看所安装的程序集
在这里插入图片描述
5、项目同时也自动创建了一个ViewModel文件夹,之后,我们每创建一个窗体或控件,都要在ViewModel文件夹下面创建一个对应的ViewModel类,MainWindow创建的是MainViewModel.cs。同时ViewModelLocator.cs文件,用来存放我们创建的ViewModel类。
在这里插入图片描述
在这里插入图片描述
6、进入创建的ViewModel类中,进行如下操作
在这里插入图片描述
7、创建Models文件夹,并在该文件夹内创建 “ADO.NET 实体数据模型” 文件,并命名,点击确定。具体步骤如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
8、完成之后,Models文件夹中会生成一个文件,如下:
在这里插入图片描述
9、在Models文件夹中创建名为IProvider的接口文件,文件内容如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace BMS.Models
{
    public interface IProvider<T> where T : class
    {
        /// <summary>
        /// 查询
        /// </summary>
        /// <returns></returns>
        List<T> Select();

        /// <summary>
        /// 插入
        /// </summary>
        /// <param name="t"></param>
        /// <returns></returns>
        int Insert(T t);

        /// <summary>
        /// 修改
        /// </summary>
        /// <param name="t"></param>
        /// <returns></returns>
        int Update(T t);

        /// <summary>
        /// 删除
        /// </summary>
        /// <param name="t"></param>
        /// <returns></returns>
        int Delete(T t);
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38

10、同时,数据库中有几张表就创建几个对应的Provider类,我这里有四张表(book,borrow,manager,reader),所以创建了四个Provider类(BookProvider,BorrowProvider,ManagerProvider,ReaderProvider),这四个类继承自IProvider,类内容如下,列举其中一个类:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace WpfApp2.Models
{
    public class BookProvider : IProvider<book>  //book表对应BookProvider,IProvider后面的泛型填入对应的表名称
    {
        public BookDBEntities db = new BookDBEntities();  //这条语句四个表对应的Provider文件中都要加入
		
		//下面是对IProvider接口的实现,增删改查,把里面的语句删除,添加能实现相应功能的语句
        public int Delete()
        {
            throw new NotImplementedException();
        }

        public int Insert()
        {
            throw new NotImplementedException();
        }

        public List<book> Select()
        {
            throw new NotImplementedException();
        }

        public int Update()
        {
            throw new NotImplementedException();
        }
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34

11、创建View文件夹,在文件夹中创建与四个表所对应的四个用户控件(BookView,BorrowView,ManagerView,ReaderView),用来显示表中的数据,并在ViewModel文件夹中创建四个对应的ViewModel对表进行增删改查的操作。
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/243984
推荐阅读
相关标签
  

闽ICP备14008679号