using MahApps.Metro.Controls;
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.Collections.ObjectModel;
using System.Linq;
using System.Windows.Controls;
using Team.FFFeederService;
using TeamAAS_VP.Core;
using TeamAAS_VP.Events;
using TeamAAS_VP.Interfaces;
using TeamAAS_VP.Models;
using TeamAAS_VP.Models.Lights;
using static System.Windows.Forms.VisualStyles.VisualStyleElement.StartPanel;
using static System.Windows.Forms.VisualStyles.VisualStyleElement.Window;
namespace TeamAAS_VP.ViewModels
{
public class DebugViewModel : BindableBase, IConfirmNavigationRequest
{
#region 字段
IRegionManager _regionManager;
IEventAggregator _eventAggregator;
IContainerProvider _container;
IDialogService _dialogService;
IConfigService _configService;
#endregion
#region 属性
private Management _management;
public Management management
{
get { return _management; }
set { SetProperty(ref _management, 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); }
}
private ObservableCollection _RobotList;
public ObservableCollection RobotList
{
get { return _RobotList; }
set { SetProperty(ref _RobotList, value); }
}
private ObservableCollection _FeederList;
public ObservableCollection FeederList
{
get { return _FeederList; }
set { SetProperty(ref _FeederList, value); }
}
//光源控制器的通道集合
private ObservableCollection _LightChannelController;
public ObservableCollection LightChannelController
{
get { return _LightChannelController; }
set { SetProperty(ref _LightChannelController, value); }
}
#endregion
#region 命令
public DelegateCommand LoadedCommand { get; set; }
private DelegateCommand _SelectItemCommand;
public DelegateCommand SelectItemCommand =>
_SelectItemCommand ?? (_SelectItemCommand = new DelegateCommand(ExecuteSelectItemCommand));
void ExecuteSelectItemCommand()
{
}
#endregion
#region 事件
#endregion
public DebugViewModel(IRegionManager regionManager, IEventAggregator ea, IContainerProvider container, IDialogService dialogService,
IConfigService configService)
{
_regionManager = regionManager;
_eventAggregator = ea;
_container = container;
_dialogService = dialogService;
_configService = configService;
management = _container.Resolve();
LoadedCommand = new DelegateCommand(OnLoad);
//订阅权限登录事件
_eventAggregator.GetEvent().Subscribe(LoginChange);
}
#region 方法
private void OnLoad()
{
}
public void TreeView_SelectedItemChanged(object sender, System.Windows.RoutedPropertyChangedEventArgs