数据库系统设计DatabaseSystemDesign电子技术与软件工程ElectronicTechnology&SoftwareEngineering186WPF(WindowsPresentationFoundation)是微软推出的基于Windows的用户界面框架,属于.NETFramework3.0的一部分。它提供了统一的编程模型、语言和框架,WPF首次提出了MVVM(Model,View,ViewModel)设计模式,真正做到了分离界面设计人员与开发人员的工作;同时它提供了全新的多媒体交互用户图形界面。MVVM设计模式是WPF应用的核心理念,IOC的概念以及容器的使用在WPF应用程序MVVM模式开发中好处众多,但C#WPF框架中并没有自带原生的IOC容器提供使用。所以一般在项目搭建初期,预先搭建实现自定义的IOC容器、依赖注入和获取容器中实例的方法,会使得后期开发过程中代码逻辑更加清晰,各模块之间实现轻耦合的同时交互又异常简单方便。本文将通过使用Microsoft.Extensions.DependencyInjection类库,为搭建IOC容器的各种功能提供一种思路。1具体实现步骤(1)新建一个WPF应用程序(基于.NetFramework或.NetCore都可以),并在项目目录下新建Models、Views、ViewModels三个目录,用于契合MVVM的设计理念。其中Models主要放置真实状态内容具象化的模型类以及代表内容的数据层(以现实内容和数据库为基础的建模),Views视图层处理用户界面,包括各类图形控件、布局和外观以及界面需要用到的资源字典,ViewModels视图模型作为视图与数据的交互节点与Views中的视图一一对应,它通过暴露公开的属性和命令将视图抽象化,通过视图各控件属性的绑定,实现视图与数据的交互。(2)在Views中新建一个窗口MainWindow.xaml作为主窗口,并修改app.xaml中StartupUri(项目的启动窗口)为Views/MainWindow.xaml。处理完成后项目目录下的文件结构如图1。(3)项目引入需要的三方依赖包。可以通过NuGet管理器安装Microsoft.Extensions.DependencyInjection依赖。这个类库中提供的ServiceCollection属性,这个属性的类型中可提供依赖注入的方法。后续会根据此包的功能封装成自定义的IOC容器。(4)IOC容器及其功能实现的封装方法。1.先在ViewModels目录下新建一个MainViewModel类作为MainWindow的视图模型,后续以此视图模型为例分析和实现IOC容器的单例注入和获取方法。ViewModel类需要实现INotifyPropertyChanged接口,WPFMVVM框架实现IOC依赖注入的一种方法颜杰宋以鹰冯朝晖(比亚迪精密制造有限公司广东省深圳市518116)摘要:本文主要介绍如何在WPF应用程序中搭建一个...