You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

69 regels
2.2 KiB

  1. using ModbusDemo.Device;
  2. using ModbusDemo.VIew;
  3. using ModbusDemo.VIewModel;
  4. using Prism.DryIoc;
  5. using Prism.Ioc;
  6. using System.Configuration;
  7. using System.Data;
  8. using System.DirectoryServices;
  9. using System.IO.Ports;
  10. using System.Windows;
  11. namespace ModbusDemo
  12. {
  13. /// <summary>
  14. /// Interaction logic for App.xaml
  15. /// </summary>
  16. public partial class App : PrismApplication
  17. {
  18. /// <summary>
  19. /// 创建启动页面
  20. /// </summary>
  21. /// <returns>启动页面</returns>
  22. protected override Window CreateShell()
  23. {
  24. return Container.Resolve<MainWindow>();
  25. }
  26. /// <summary>
  27. /// 实现控制反转和依赖注入功能
  28. /// </summary>
  29. /// <param name="containerRegistry"></param>
  30. protected override void RegisterTypes(IContainerRegistry containerRegistry)
  31. {
  32. //将主页面和主页面的VM结合起来
  33. containerRegistry.RegisterForNavigation<MainWindow, MainWindowViewModel>();
  34. //将线圈操作页面和线圈操作页面的VM结合起来
  35. containerRegistry.RegisterForNavigation<CoilUC, CoilUCViewModel>();
  36. //将寄存器操作页面和寄存器操作页面的VM结合起来
  37. containerRegistry.RegisterForNavigation<RegisterUC, RegisterUCViewModel>();
  38. //将寄存器操作页面和寄存器操作页面的VM结合起来
  39. containerRegistry.RegisterForNavigation<SettingsUC, SettingsUCViewModel>();
  40. //将窗口注册为全局唯一的单例
  41. containerRegistry.RegisterSingleton<SerialPort>();
  42. //将读线圈注册
  43. containerRegistry.Register<ModbusRTU>();
  44. }
  45. /// <summary>
  46. /// 程序打开默认是设置界面,来设置串口的各个东西
  47. /// </summary>
  48. protected override void OnInitialized()
  49. {
  50. MainWindowViewModel mainWindowViewModel = App.Current.MainWindow.DataContext as MainWindowViewModel;
  51. mainWindowViewModel!.DefultNaigation();
  52. base.OnInitialized();
  53. }
  54. //private SerialPort CreateSerialPort()
  55. //{
  56. // SerialPort serialPort = new SerialPort();
  57. // return serialPort;
  58. //}
  59. }
  60. }