using Prism.Commands; using Prism.Events; using Prism.Ioc; using Prism.Mvvm; using Prism.Regions; using Prism.Services.Dialogs; using System; using System.Collections.Generic; using System.Linq; using TeamAAS_VP.Events; using TeamAAS_VP.Core; using TeamAAS_VP.Models; using Team.FFFeederService; namespace TeamAAS_VP.ViewModels { public class DebugViewModel : BindableBase { #region 字段 IRegionManager _regionManager; IEventAggregator _eventAggregator; IContainerProvider _container; IDialogService _dialogService; #endregion #region 属性 private Management _management; public Management management { get { return _management; } set { SetProperty(ref _management, value); } } private DeviceConfiguration _DeviceConfig; /// /// 设备配置参数 /// public DeviceConfiguration DeviceConfig { get { return _DeviceConfig; } set { SetProperty(ref _DeviceConfig, value); } } private RobotInfo _SelectRobot; /// /// 选中的机器人 /// public RobotInfo SelectRobot { get { return _SelectRobot; } set { SetProperty(ref _SelectRobot, value); } } private FeederInfo _SelectFeeder; /// /// 选中的Feeder /// public FeederInfo SelectFeeder { get { return _SelectFeeder; } set { SetProperty(ref _SelectFeeder, value); } } #endregion #region 命令 public DelegateCommand LoadedCommand { get; set; } #endregion #region 事件 #endregion public DebugViewModel(IRegionManager regionManager, IEventAggregator ea, IContainerProvider container, IDialogService dialogService) { _regionManager = regionManager; _eventAggregator = ea; _container = container; _dialogService = dialogService; management = _container.Resolve(); LoadedCommand = new DelegateCommand(OnLoad); DeviceConfig = management.DeviceConfig; //订阅权限登录事件 _eventAggregator.GetEvent().Subscribe(LoginChange); } #region 方法 private void OnLoad() { } public void SelectView(string view,object vm) { switch (view) { case "robot": _regionManager.RequestNavigate("DebugRegionContext", "RobotManualStep"); break; case "feeder": if (SelectFeeder!=null && SelectFeeder.FeederBrand== FeederBrand.TEAM) { _regionManager.RequestNavigate("DebugRegionContext", "FeederManual"); } else if (SelectFeeder != null && SelectFeeder.FeederBrand == FeederBrand.AFAG) { _regionManager.RequestNavigate("DebugRegionContext", "AfagFeederManual"); } break; case "VisionSolution": _regionManager.RequestNavigate("DebugRegionContext", "VisionSolution"); break; case "InchingControl": _regionManager.RequestNavigate("DebugRegionContext", "InchingControl"); break; case "ScriptHome": _regionManager.RequestNavigate("DebugRegionContext", "ScriptHome"); break; case "FeederClear": _regionManager.RequestNavigate("DebugRegionContext", "FeederClear"); break; default: break; } } #endregion private void LoginChange(Models.User user) { } } }