MainWindowView.xaml.cs 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  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. namespace TeamAAS_VP.Views
  27. {
  28. /// <summary>
  29. /// MainWindow.xaml 的交互逻辑
  30. /// </summary>
  31. public partial class MainWindowView : Window
  32. {
  33. IRegionManager _regionManager;
  34. IEventAggregator _eventAggregator;
  35. IContainerProvider _container;
  36. public MainWindowView(IRegionManager regionManager,IEventAggregator ea, IContainerProvider container)
  37. {
  38. _regionManager = regionManager;
  39. _eventAggregator = ea;
  40. _container = container;
  41. InitializeComponent();
  42. //订阅事件
  43. _eventAggregator.GetEvent<SnackbarMessageNotification>().Subscribe(MessageNotification);
  44. }
  45. private void MessageNotification(MessageParameter obj)
  46. {
  47. SnackbarSeven.MessageQueue?.Enqueue(
  48. obj.Msg,
  49. null,
  50. null,
  51. null,
  52. false,
  53. true,
  54. TimeSpan.FromSeconds(obj.Duration));
  55. }
  56. private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e)
  57. {
  58. if (MessageBox.Show(Lang.是否关闭软件, "TeamAAS",MessageBoxButton.OKCancel,MessageBoxImage.Question)!= MessageBoxResult.OK)
  59. {
  60. e.Cancel = true;
  61. return;
  62. }
  63. try
  64. {
  65. _container.Resolve<Management>().CameraService.Dispose();
  66. }
  67. catch (Exception ex)
  68. {
  69. LogHelper.WriteLogError(Lang.软件关闭时出错, ex);
  70. }
  71. finally
  72. {
  73. App.Current.Shutdown();
  74. }
  75. }
  76. }
  77. }