25개 이상의 토픽을 선택하실 수 없습니다. Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

64 lines
2.1 KiB

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