using System;
using Prism.Mvvm;
using Prism.Events;
using Prism.Regions;
using Prism.Commands;
using System.Windows;
using SHJX.Service.Common.Event;
using SHJX.Service.Common.Constants;
using SHJX.Service.Common.Interface;
using SHJX.Service.Control.Interface;
using System.Runtime.InteropServices;
using SHJX.Service.Shell.Views.Manual;
using SHJX.Service.Shell.Views.TagForm;
using SHJX.Service.Shell.Views.Setting;
namespace SHJX.Service.Shell.ViewModels
{
public class MainWindowViewModel : BindableBase
{
#region Field
private readonly ILogService _log;
private readonly IMainService _mainService;
private readonly IWorkFlowService _workflowService;
#endregion
#region Property
public IRegionManager RegionMannager { get; }
///
/// 遮蔽层
///
private Visibility _hiddenValue;
public Visibility MainHiddenValue
{
get => _hiddenValue;
set => SetProperty(ref _hiddenValue, value);
}
#endregion
public MainWindowViewModel(IEventAggregator ea, IRegionManager regionManager, IMainService mainService, ILogService log, IWorkFlowService workflowService)
{
_log = log;
_mainService = mainService;
_workflowService = workflowService;
RegionMannager = regionManager;
MainHiddenValue = Visibility.Hidden;
ea.GetEvent().Subscribe(WindowShowExecute);
ea.GetEvent().Subscribe(LockDesktopExecute);
}
#region Command
private DelegateCommand