MainWindowView.xaml.cs 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. using Prism.Events;
  2. using Prism.Ioc;
  3. using Prism.Regions;
  4. using System;
  5. using System.Collections.Generic;
  6. using System.Collections.ObjectModel;
  7. using System.Drawing;
  8. using System.Linq;
  9. using System.Text;
  10. using System.Threading.Tasks;
  11. using System.Windows;
  12. using System.Windows.Controls;
  13. using System.Windows.Controls.Primitives;
  14. using System.Windows.Data;
  15. using System.Windows.Documents;
  16. using System.Windows.Input;
  17. using System.Windows.Media;
  18. using System.Windows.Media.Imaging;
  19. using System.Windows.Navigation;
  20. using System.Windows.Shapes;
  21. using TeamAAS_VP.Events;
  22. using TeamAAS_VP.Core;
  23. using static MaterialDesignThemes.Wpf.Theme.ToolBar;
  24. using TeamAAS_VP;
  25. using TeamAAS_VP.Resources.Languages;
  26. using TeamAAS_VP.Interfaces;
  27. namespace TeamAAS_VP.Views
  28. {
  29. /// <summary>
  30. /// MainWindow.xaml 的交互逻辑
  31. /// </summary>
  32. public partial class MainWindowView : Window
  33. {
  34. IRegionManager _regionManager;
  35. IEventAggregator _eventAggregator;
  36. IContainerProvider _container;
  37. ICameraService _cameraService;
  38. public MainWindowView(IRegionManager regionManager,IEventAggregator ea, IContainerProvider container, ICameraService cameraService)
  39. {
  40. _regionManager = regionManager;
  41. _eventAggregator = ea;
  42. _container = container;
  43. _cameraService = cameraService;
  44. InitializeComponent();
  45. //订阅事件
  46. _eventAggregator.GetEvent<SnackbarMessageNotification>().Subscribe(MessageNotification);
  47. }
  48. private void MessageNotification(MessageParameter obj)
  49. {
  50. SnackbarSeven.MessageQueue?.Enqueue(
  51. obj.Msg,
  52. null,
  53. null,
  54. null,
  55. false,
  56. true,
  57. TimeSpan.FromSeconds(obj.Duration));
  58. }
  59. private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e)
  60. {
  61. if (MessageBox.Show(Lang.是否关闭软件, "TeamAAS",MessageBoxButton.OKCancel,MessageBoxImage.Question)!= MessageBoxResult.OK)
  62. {
  63. e.Cancel = true;
  64. return;
  65. }
  66. try
  67. {
  68. _cameraService.Dispose();
  69. }
  70. catch (Exception ex)
  71. {
  72. LogHelper.WriteLogError(Lang.软件关闭时出错, ex);
  73. }
  74. finally
  75. {
  76. App.Current.Shutdown();
  77. }
  78. }
  79. }
  80. }