using Prism.Events;
using Prism.Ioc;
using Prism.Regions;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Controls.Primitives;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using TeamAAS_VP.Events;
using TeamAAS_VP.Core;
using static MaterialDesignThemes.Wpf.Theme.ToolBar;
using TeamAAS_VP;
using TeamAAS_VP.Resources.Languages;
using TeamAAS_VP.Interfaces;
namespace TeamAAS_VP.Views
{
///
/// MainWindow.xaml 的交互逻辑
///
public partial class MainWindowView : Window
{
IRegionManager _regionManager;
IEventAggregator _eventAggregator;
IContainerProvider _container;
ICameraService _cameraService;
public MainWindowView(IRegionManager regionManager,IEventAggregator ea, IContainerProvider container, ICameraService cameraService)
{
_regionManager = regionManager;
_eventAggregator = ea;
_container = container;
_cameraService = cameraService;
InitializeComponent();
//订阅事件
_eventAggregator.GetEvent().Subscribe(MessageNotification);
}
private void MessageNotification(MessageParameter obj)
{
SnackbarSeven.MessageQueue.Clear();
SnackbarSeven.MessageQueue?.Enqueue(
obj.Msg,
null,
null,
null,
false,
true,
TimeSpan.FromSeconds(obj.Duration));
}
private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
if (MessageBox.Show(Lang.是否关闭软件, "TeamAAS",MessageBoxButton.OKCancel,MessageBoxImage.Question)!= MessageBoxResult.OK)
{
e.Cancel = true;
return;
}
try
{
_cameraService.Dispose();
}
catch (Exception ex)
{
LogHelper.WriteLogError(Lang.软件关闭时出错, ex);
}
finally
{
App.Current.Shutdown();
}
}
}
}