first edit

This commit is contained in:
Курнат Андрей
2026-01-31 16:11:36 +03:00
commit f0e11d6379
148 changed files with 6986 additions and 0 deletions

View File

@@ -0,0 +1,73 @@
using Microsoft.EntityFrameworkCore.ChangeTracking;
using Microsoft.Extensions.DependencyInjection;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Text;
using System.Windows;
using System.Windows.Input;
using XLIMS.CONTRACT;
using XLIMS.CORE.Windows;
using XLIMS.MVVM.Base;
namespace XLIMS.CORE.ViewModels
{
public class MainViewModel:ViewModelBase
{
#region Constructor
public MainViewModel(IServiceProvider serviceProvider)
{
_serviceProvider = serviceProvider;
// Регистрация доступных activities
Activities.Add(serviceProvider.GetRequiredService<XLIMS.PSV.ViewModels.MainViewModel>());
Activities.Add(serviceProvider.GetRequiredService<XLIMS.DEV.ViewModels.MainViewModel>());
Activities.Add(serviceProvider.GetRequiredService<XLIMS.SP.ViewModels.MainViewModel>());
Activities.Add(serviceProvider.GetRequiredService<XLIMS.TPRZ.ViewModels.MainViewModel>());
// По умолчанию открываем первую
CurrentActivity = Activities.FirstOrDefault();
NavigateCommand = new RelayCommand<IActivityViewModel>(Navigate);
}
#endregion //Constructor
#region Events
#endregion //Events
#region Fields
public readonly IServiceProvider _serviceProvider;
#endregion //Fields
#region Properties
public ObservableCollection<IActivityViewModel> Activities { get; }
= new ObservableCollection<IActivityViewModel>();
private IActivityViewModel _currentActivity;
public IActivityViewModel CurrentActivity
{
get => _currentActivity;
set
{
if (_currentActivity != value)
{
_currentActivity = value;
OnPropertyChanged();
}
}
}
#endregion //Properties
#region Methods
private void Navigate(IActivityViewModel vm)
{
if (vm != null)
CurrentActivity = vm;
}
#endregion //Methods
#region Commands
public ICommand NavigateCommand { get; }
#endregion //Commands
}
}