using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Configuration; using ModbusDemo.Device; using ModbusDemo.Model; using ModbusDemo.VIew; using ModbusDemo.VIewModel; using Prism.DryIoc; using Prism.Ioc; using System; using System.Configuration; using System.Data; using System.DirectoryServices; using System.IO; using System.IO.Ports; using System.Windows; namespace ModbusDemo { /// /// Interaction logic for App.xaml /// public partial class App : PrismApplication { /// /// 创建启动页面 /// /// 启动页面 protected override Window CreateShell() { return Container.Resolve(); } /// /// 实现控制反转和依赖注入功能 /// /// protected override void RegisterTypes(IContainerRegistry containerRegistry) { //将主页面和主页面的VM结合起来 containerRegistry.RegisterForNavigation(); //将线圈操作页面和线圈操作页面的VM结合起来 containerRegistry.RegisterForNavigation(); //将寄存器操作页面和寄存器操作页面的VM结合起来 containerRegistry.RegisterForNavigation(); //将寄存器操作页面和寄存器操作页面的VM结合起来 containerRegistry.RegisterForNavigation(); //将串口注册为全局唯一的单例 containerRegistry.RegisterSingleton(); //将读线圈注册 containerRegistry.Register(); //附加功能如何读取单数寄存器; containerRegistry.RegisterForNavigation(); // 1. 加载配置文件 var configuration = new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile("appsettings.json") .Build(); // 2. 配置 DbContextOptions var options = new DbContextOptionsBuilder() .UseSqlServer(configuration.GetConnectionString("ConnStr")) .Options; // 3. 注册 DbContext containerRegistry.Register(() => new ModbusDbContext(options)); } /// /// 程序打开默认是设置界面,来设置串口的各个东西 /// protected override void OnInitialized() { MainWindowViewModel mainWindowViewModel = App.Current.MainWindow.DataContext as MainWindowViewModel; mainWindowViewModel!.DefultNaigation(); base.OnInitialized(); } } }