Files
test_demo/MX-PD-盘古 - new/PanGu.DieBonderApp/MainShell/DeviceMaintance/ViewModel/DeviceMaintanceViewModel.cs
Shi.Ji e31d3560bb 添加 MX-PD-盘古 项目文件
将 MX-PD-盘古 - new 目录下的所有文件添加到主仓库
2026-05-18 11:43:09 +08:00

115 lines
3.6 KiB
C#

using MainShell.HeightMeasure.ViewModel;
using MainShell.Models;
using MaxwellFramework.Core.Interfaces;
using Stylet;
using StyletIoC;
using System.Collections.Generic;
using System.Collections.ObjectModel;
namespace MainShell.DeviceMaintance.ViewModel
{
public class DeviceMaintanceViewModel : BaseScreen, IPage
{
public string Name => "MenuDeviceMaint";
private const string NEEDLEBASE = "刺晶头维护";
private const string IOMONITOR = "IO监控";
private const string HARDWARETEST = "硬件维护";
private const string LASERCOMPENSATION = "激光补偿";
private readonly Dictionary<string, Screen> _viewModelDict = new Dictionary<string, Screen>();
public ObservableCollection<MenuItemWrap> MenuItemWraps { get; private set; }
private MenuItemWrap _selectedMenuItem;
public MenuItemWrap SelectedMenuItem
{
get { return _selectedMenuItem; }
set
{
if (SetAndNotify(ref _selectedMenuItem, value))
{
CurrentScreen = _viewModelDict[value.Header];
}
}
}
private Screen _currentScreen;
public Screen CurrentScreen
{
get { return _currentScreen; }
set { SetAndNotify(ref _currentScreen, value); }
}
private NeedleBaseViewModel _needleBaseViewModel;
[Inject]
public NeedleBaseViewModel NeedleBaseViewModel
{
get { return _needleBaseViewModel; }
set { _needleBaseViewModel = value; }
}
private IOMaintanceViewModel _ioMaintanceViewModel;
[Inject]
public IOMaintanceViewModel IOMaintanceViewModel
{
get { return _ioMaintanceViewModel; }
set { _ioMaintanceViewModel = value; }
}
private HardwareTestViewModel _hardwareTestViewModel;
[Inject]
public HardwareTestViewModel HardwareTestViewModel
{
get { return _hardwareTestViewModel; }
set { _hardwareTestViewModel = value; }
}
private LaserCompensationViewModel _laserCompensationViewModel;
[Inject]
public LaserCompensationViewModel LaserCompensationViewModel
{
get { return _laserCompensationViewModel; }
set { _laserCompensationViewModel = value; }
}
public DeviceMaintanceViewModel()
{
InitMenuItems();
}
protected override void OnViewLoaded()
{
base.OnViewLoaded();
if (_viewModelDict.Count == 0)
{
InitViewModelDict();
}
if (SelectedMenuItem == null)
{
SelectedMenuItem = MenuItemWraps[0];
}
}
private void InitMenuItems()
{
MenuItemWraps = new ObservableCollection<MenuItemWrap>
{
new MenuItemWrap() { Header = NEEDLEBASE, Tag = NEEDLEBASE },
new MenuItemWrap() { Header = IOMONITOR, Tag = IOMONITOR },
new MenuItemWrap() { Header = HARDWARETEST, Tag = HARDWARETEST },
new MenuItemWrap() { Header = LASERCOMPENSATION, Tag = LASERCOMPENSATION },
};
}
private void InitViewModelDict()
{
_viewModelDict.Clear();
_viewModelDict.Add(NEEDLEBASE, NeedleBaseViewModel);
_viewModelDict.Add(IOMONITOR, IOMaintanceViewModel);
_viewModelDict.Add(HARDWARETEST, HardwareTestViewModel);
_viewModelDict.Add(LASERCOMPENSATION, LaserCompensationViewModel);
}
}
}