• MVVM项目开发(商品管理系统一)


    MVVM项目开发(商品管理系统一)
    注:下面使用 Microsoft Visual Studio2022,部分知识点引自导师教学,我的资源中有完整的系统及SQL数据库和数据库物理模型免费下载。
    一、MVVM页面搭建
    1.(1)、首先要搭建一个主页面,在项目“解决方案资源管理器”中默认创建了一个“MainWindow.xaml”窗口,现在可以把该文件删除重新创建一个同名的窗口。
    在这里插入图片描述
    2.页面加载事件,C#事件:Event。
    (1)、如一个“确定”按钮的单击按钮的动作会触发一个按钮的单击事件来完成执行相应的代码实现登录的功能。
    (2)、事件是一种引用类型,实际上也是一种特殊的委托。 通常,每一个事件的发生都会产生发送方和接收方,发送方是指引发事件的对象,接收方则是指获 取、处理事件。事件要与委托一起使用。
    (3)、由于在事件中使用了委托,因此需要在定义事件前先定义委托。 在定义事件后需要定义事件所使用的方法,并通过事件来调用委托。
    (4)、例1:通过事件完成在控制台上输岀“Hello Event!”的操作。
    class Program {
    //定义委托 public delegate void SayDelegate();
    //定义事件 public event SayDelegate SayEvent;
    //定义委托中调用的方法 public void SayHello()
    {
    Console.WriteLine(“Hello Event!”);
    }
    //创建触发事件的方法 public void SayEventTrigger()
    {
    //触发事件,必须与事件是同名方法 SayEvent();
    }
    static void Main(string[] args)
    {
    //创建Program类的实例 Program program = new Program();
    //实例化事件,使用委托指向处理方法 program.SayEvent = new SayDelegate(program.SayHello);
    //调用触发事件的方法 program.SayEventTrigger();
    }
    }
    3.(1)、在创建好的页面上创建一个页面加载事件,该事件用于加载页面数据。
    在这里插入图片描述
    (2)、下拉框需要连接另外一个表,所以在页面布局的时候需要给下拉框绑定另外一个表的id,并且添加一个事件。
    在这里插入图片描述
    (3)、在项目“解决方案资源管理器”的“ViewModel”文件夹中新建一个类,该类用于项目主页面的数据显示及新增、修改、删除、查找、导入导出的后台实现代码。
    (4)、页面布局好后,在代码中鼠标右键点击“查看代码”转到页面是后台类,然后实例化页面的ViewModel中的控制代码类名称。
    在这里插入图片描述
    (5)、在后台类中,首先引用“ViewModelBase”MvvmLight的命名空间,然后在“MainWindowViewModel”方法中声明页面的命令等于一个方法,并且方便属性和方法的分开,特意使用代码块折叠的方法进行分类。
    在这里插入图片描述
    4.命令
    (1)、MVVMLight:命令基础 在MVVM Light框架中,事件是WPF应用程序中UI与后台代码进行交互的最主要方式,与传统方式不 同,mvvm中主要通过绑定到命令来进行事件的处理。
    (2)、RelayCommand命令: WPF命令是通过实现 ICommand 接口创建的。 ICommand 公开了两个方法(Execute 及 CanExecute)和一个事件(CanExecuteChanged)。
    5.WMVM模式中使用键盘和鼠标事件的绑定
    (1)、InputBindings:获取与此元素关联的输入绑定的集合。内容为一个或多个 InputBinding 元 素(通常为 KeyBinding 或 MouseBinding 派生类)。 其中每个都应具 有 Command 和 Gesture 属性集。
    (2)、下面需要注意的是:搜索文本框的输入文本在按Enter后虽然会触发事件,但是获取不到 搜索文本框的输入文本值,因此需要是搜索文本框的输入文本在按Enter后失去焦点,以 添加PreviewKeyDown="SearchBox_OnKeyDown。
    例:代码


    dxg:GridControl.InputBindings

    MouseAction=”LeftDoubleClick”/>


    (6)、数据库引用
    (1)、在Model中鼠标右键添加新建项。
    在这里插入图片描述
    (2)、点击数据–>ADO.NET 实体数据模型–.>命名数据库。
    在这里插入图片描述
    (3)、默认为第一个。
    在这里插入图片描述
    (4)、建立数据库连接,数据库名与SQL Server 存放该系统的数据库的数据库名称一样,然后是登录数据库的账号合密码,并且选择该系统对应的数据库。
    在这里插入图片描述
    在这里插入图片描述

    (5)、勾选接受连接数据库的敏感数据,保留下面默认命名(也可以自定义命名)下一步。
    在这里插入图片描述
    (6)、使用最新的框架,
    在这里插入图片描述

    (7)、勾选该系统的所有数据库表,下面命名空间默认(可以自定义命名)点击完成,然后数据库引用就完成了。
    在这里插入图片描述
    (8)、属性引用,在写属性的时候,输入propfull然后双击两次Tab键就可以快速添加属性代码块。
    在这里插入图片描述
    (9)、全局变量中,实例化数据模型,输入Model.即可以引用数据库模型,并且使用“readonly”关键字设置该数据库只读权限,如果没有添加该关键字则默认为可读可写权限。
    在这里插入图片描述

  • 相关阅读:
    vue.js毕业设计,基于vue.js前后端分离电影院售票小程序系统 开题报告
    集成学习家族总结
    ffplay源码分析:图像格式转换
    为什么高防服务器比普通服务器贵
    亚马逊鲲鹏系统优势有哪些
    模态贡献量在汽车NVH分析中的案例应用
    MySQL数据库的基本概念以及MySQL8.0版本的部署(一)
    MSP430F5529库函数——模数转换模块(ADC12)软件触发
    程序员的放肆
    C++学习之list的实现
  • 原文地址:https://blog.csdn.net/Pzz_Lite/article/details/126087617