MainWindowView.xaml.cs 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  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.Clear();
  51. SnackbarSeven.MessageQueue?.Enqueue(
  52. obj.Msg,
  53. null,
  54. null,
  55. null,
  56. false,
  57. true,
  58. TimeSpan.FromSeconds(obj.Duration));
  59. }
  60. private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e)
  61. {
  62. if (MessageBox.Show(Lang.是否关闭软件, "TeamAAS",MessageBoxButton.OKCancel,MessageBoxImage.Question)!= MessageBoxResult.OK)
  63. {
  64. e.Cancel = true;
  65. return;
  66. }
  67. try
  68. {
  69. _cameraService.Dispose();
  70. }
  71. catch (Exception ex)
  72. {
  73. LogHelper.WriteLogError(Lang.软件关闭时出错, ex);
  74. }
  75. finally
  76. {
  77. App.Current.Shutdown();
  78. }
  79. }
  80. }
  81. }