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);
    }
}

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();
        }
    }
}

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

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,你的问题是关于WPF如何使用MvvmLight工程框架MvvmLight是一个轻量级的Mvvm框架,它可以帮助开发人员更容易地实现WPF应用程序中的Mvvm模式。下面是使用MvvmLight框架开发WPF应用程序的一些步骤: 1. 首先,在Visual Studio中创建一个WPF应用程序项目。 2. 打开NuGet包管理器,搜索并安装MvvmLight库。 3. 在App.xaml.cs文件中,添加以下代码以初始化MvvmLight框架: ``` public partial class App : Application { static App() { ServiceLocator.SetLocatorProvider(() => SimpleIoc.Default); SimpleIoc.Default.Register<MainViewModel>(); } protected override void OnStartup(StartupEventArgs e) { base.OnStartup(e); var mainWindow = new MainWindow(); mainWindow.Show(); } } ``` 在上面的代码中,我们使用SimpleIoc容器注册了一个MainViewModel,该容器将为我们提供视图模型的实例。 4. 创建一个MainWindow.xaml文件,并在其中添加一个Button控件和一个TextBlock控件。 5. 在MainWindow.xaml.cs文件中,添加以下代码以绑定Button控件的Command属性: ``` public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); DataContext = ServiceLocator.Current.GetInstance<MainViewModel>(); } } ``` 6. 创建一个MainViewModel.cs文件,并添加一个实现ICommand接口的RelayCommand类,用于处理Button控件的点击事件。 7. 在MainViewModel.cs文件中,添加一个用于更新TextBlock控件内容的属性。 8. 在MainWindow.xaml文件中,使用数据绑定将TextBlock控件绑定到MainViewModel中的属性。 到此,我们就完成了使用MvvmLight框架开发WPF应用程序的过程。在实际开发中,我们可以使用MvvmLight框架来简化应用程序的开发过程,提高开发效率。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值