using System; using System.Collections.Generic; using System.Linq; using System.Text; using Prism.Mvvm; using System.Threading.Tasks; using Prism.Commands; using Prism.Events; using Prism.Ioc; using Prism.Regions; using LampInspectionMachine.Views; using LampInspectionMachine.DataBase; using System.Windows; using LampInspectionMachine.Model; using LampInspectionMachine.Core; using static System.Windows.Forms.VisualStyles.VisualStyleElement.ToolTip; using System.Windows.Interop; namespace LampInspectionMachine.ViewModels { public class MainWindowViewModel : BindableBase { private AppData _appData; private Management management; private IContainerProvider _container; private IEventAggregator _eventAggregator; private IRegionManager _regionManager; public DelegateCommand LoadedCommand { get; set; } public DelegateCommand ClosedCommand { get; set; } public MainWindowViewModel(IContainerProvider container, IRegionManager regionManager, IEventAggregator eventAggregator) { SqlSugarHelper.CreataDatabase(); _container = container; _eventAggregator = eventAggregator; _regionManager = regionManager; _appData = _container.Resolve(); management = _container.Resolve(); management.LoadCameraDevice(); LoadedCommand = new DelegateCommand(OnLoad); ClosedCommand = new DelegateCommand(OnClose); } private DelegateCommand _OpenMenuViewCommand; public DelegateCommand OpenMenuViewCommand => _OpenMenuViewCommand ?? ( _OpenMenuViewCommand = new DelegateCommand(MenuViewShow) ); private DelegateCommand _OpenRoleLoginViewCommand; public DelegateCommand OpenRoleLoginViewCommand => _OpenRoleLoginViewCommand ?? ( _OpenRoleLoginViewCommand = new DelegateCommand(RoleLoginViewShow) ); private DelegateCommand _OpenWorkRunViewCommand; public DelegateCommand OpenWorkRunViewCommand => _OpenWorkRunViewCommand ?? ( _OpenWorkRunViewCommand = new DelegateCommand(WorkRunViewShow) ); private DelegateCommand_CloseViewCommand; public DelegateCommand CloseViewCommand => _CloseViewCommand ?? ( _CloseViewCommand = new DelegateCommand(CloseViewMethod) ); private void OnLoad() { TipService tipService = new TipService(); Task.Run(() => { management.InitTemplates(tipService,management); }); } private void OnClose() { } void MenuViewShow() { _regionManager.Regions[ "RegionContent" ].RequestNavigate("MenuView"); } void RoleLoginViewShow() { RoleLoginView roleLoginView = new RoleLoginView(); roleLoginView.ShowDialog(); } void WorkRunViewShow() { _regionManager.Regions[ "RegionContent" ].RequestNavigate("WorkRunView"); } void CloseViewMethod(MainWindow window) { _appData.APPExitEvent.Reset(); window.Close(); } } }